SOA / Web Services / Java

A Technology Blog

Determining Complexity of Service in SOA

Posted by Vivek on May 13, 2012

Every unit of logic in a SOA is treated as a service. Before embarking on the SOA journey, it is important to go through a service identification process. Once services are identified, they are categorized as per the level of complexity. Determining the complexity is a key step in providing estimation. The following guidelines can be used to gauge the complexity of a service:

Simple Service:

· Exposed using a standard based interface and no adapters are required.
· There is minimal (simple) or no data validation required.
· There is minimal (simple) or no data transformation required.
· Does not require any security implementation. (Mostly public services)
· Simple logging framework. Does not require a separate error handling mechanism.
· Can be easily searched in UDDI. Taxonomies clearly defined. Simple end-point look.
· Does not require WS-* Standards like WS-RM, WS-A etc.
· Does not require any guaranteed delivery messaging mechanism to be in place
· Mostly utility services with simple read/ update operations.

Medium Service:

· Exposed using a standard based interface.
· There is simple/ medium data validation required.
· There is simple/ medium data transformation required.
· Simple logging framework. Requires a separate simple error handling mechanism.
· Require simple security implementation. Eg WS-security for authentication/ authorization, tool based encryption and decryption, SSL etc
· Can be easily searched in UDDI. Taxonomies clearly defined. Simple end-point look.
· Can include simple WS-* standards such as WS-Addressing, WS-reliable messaging.
· Requires some guaranteed delivery messaging mechanism to be in place
· Services returning/ adding medium to large amount of information and interacting with 1 application or system.

Complex Service:

· Exposed using a standard based interface.
· There is complex data validation required. (eg, data & timezone validation etc)
· There is complex data transformation required. (eg. One message standard to another)
· Complex logging framework. Implementation of Correlation sets. Requires a separate complex error handling mechanism with retry/ reprocessing logic and fault notification.
· Require medium to complex security implementation. Eg Digital Signature, encryption & decryption, SAML etc
· Multiple versions exist in UDDI. Standards such as WS-Policy, WS-trust need to be enforced.
· Can include WS-* standards such as WS-Coordination etc.
· Requires guaranteed delivery messaging mechanism to be in place
· Services adding/ updating and returning large and complex information and interacting with multiple systems.

Advertisements

One Response to “Determining Complexity of Service in SOA”

  1. Mukundha said

    Hi All,
    Im getting below exception while creating connection for wsrp producer.
    Im Jdeveloper11g for creating and producing a portltet.(ADF).welogic 10.3 is application server im using it it integrated server with Jdeveloper.

    oracle.portlet.client.container.PortletConnectionException: oracle.webservices.model.SerializationException: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=INVALID_WSDL: The document ‘http://10.65.54.117:7101/CurdApplicationTest-ViewController-context-root’ contains HTML tags.
    at oracle.portlet.client.connection.wsrp.WSRPProducerConnection.create(WSRPProducerConnection.java:261)
    at oracle.adfinternal.model.portlet.manager.ProducerConnectionManager.createWSRPProducerConnection(ProducerConnectionManager.java:335)
    at oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegistrationWizard$4$1.doWork(WSRPProducerRegistrationWizard.java:1618)
    at oracle.ide.dialogs.ProgressRunnable.run(ProgressRunnable.java:161)
    at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: oracle.webservices.model.SerializationException: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=INVALID_WSDL: The document ‘http://10.65.54.117:7101/CurdApplicationTest-ViewController-context-root’ contains HTML tags.
    at oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl.(WebServiceConnectionImpl.java:157)
    at oracle.adf.model.connection.webservice.api.WebServiceConnectionFactory.newInstance(WebServiceConnectionFactory.java:177)
    at oracle.portlet.client.connection.wsrp.WSRPProducerConnection.create(WSRPProducerConnection.java:250)
    … 5 more
    Caused by: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=INVALID_WSDL: The document ‘http://10.65.54.117:7101/CurdApplicationTest-ViewController-context-root’ contains HTML tags.
    at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readDocument(WSDLReaderImpl.java:481)
    at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:377)
    at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:627)
    at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:605)
    at oracle.adf.model.connection.webservice.util.WsdlUtil.loadWsdl(WsdlUtil.java:97)
    at oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl.(WebServiceConnectionImpl.java:127)
    … 7 more

    Please give me the solution as early as possible.
    Thanks in advance.

    MukundhaPriya

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: