Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enterprise Web Services

Similar presentations


Presentation on theme: "Enterprise Web Services"— Presentation transcript:

1 Enterprise Web Services
By Scott Wilson, CETIS

2 The IMS specification Public draft is out next week - if they fix some bugs we found! Final release of 1.0 in April

3 The Demonstration Kit Underway at moment - initial release due February Java library to simplify implementation of ES using Apache AXIS Simple application examples in JSP MS may create similar kit for .Net

4 Implementing Enterprise Services
Service providers and consumers alike require: hooks into existing application layer or database SOAP handlers configured according to the Enterprise WSDL XML marshalling/unmarshalling to translate messages into objects for manipulation

5 Creating the SOAP handlers
Implement a HTTP+SOAP server framework, such as a J2EE application server (with AXIS) or products from the .Net server family Provide the Enterprise service handlers: Use the library being developed by CETIS Generate code from the IMS Enterprise WSDL file using WSDL2Java utility or Visual Studio “Import Web Definition” feature Hand-code the handlers based on the WSDL or UML interface specification

6 Marshalling and unmarshalling XML
Use the library being developed by CETIS Use the AXIS javabean mapping facility to automate Use JAXB Use the .Net framework automated C# mapping facility Write custom marshal/unmarshal methods using JDOM or similar

7 Using the library Implements all Enterprise interfaces, and handles conversion between Java and XML Reports all exceptions using IMS “statusInfo” codes

8 Lets look at some code!

9 Implementing consumers with scripting languages
Languages like PHP, Python, and AppleScript have some simple SOAP or XML-RPC handling capabilities. Capabilities vary, and tend towards simple RPC support ASP can easily incorporate modules written in C# or Java using COM that can then handle web services JSP can easily incorporate modules written in Java, either called directly within Java or accessed by TagLibs. Possible to implement simple read-only clients very quickly

10 Extending Enterprise Services
There are three main extension approaches: Extending the data models with additional property-value pairs Complex data model additions and modifications Providing additional methods

11 Adding properties to objects
Each main class in the Enterprise bindings can have an extension object This contains an array of extField objects, which comprise a fieldName and a fieldValue attribute. This can be used to create basic extensions to the models without affecting marshalling/unmarshalling and service validation

12 <group> <sourcedId>bangor.ac.uk:10101</sourcedId> <description><descShort>CY1112</descShort></description> <groupType> <scheme>UK-HE</scheme> <typeValue><type>Module</type><level>2</level></typeValue> </groupType> <extension> <extField> <fieldName>LanguageOfInstruction</fieldName> <fieldValue>Welsh</fieldValue> </extField> </extension> </group>

13 Complex data model extensions
Beyond adding a couple of properties Proprietary developments of enterprise models, typically for “value added” between partner systems

14 Complex data model extensions
NOT supported as part of standard Enterprise Services To use a value-added data model, need to create a new interface that inherits from the IMS ES interfaces This interface should use a separate service binding if it overrides any methods Supporting a value-added interface does NOT qualify as being conformant!

15

16

17 Extending behaviours When you need to perform other operations with Enterprise objects New operations defined in separate interface May use the same service binding as the IMS interface

18

19 Limitations No querying functionality - yet
No major revisions of data model


Download ppt "Enterprise Web Services"

Similar presentations


Ads by Google