SERVICE ORIENTED ARCHITECTURE Scenario of existing software development in government departments Land Records Commercial Taxes Registration Treasuries The information exchange between the departments is through manual. Some locations it is point to point Municipal Corporation Phases Application architecture of software development is going through different phases as technology is changing from : Main frame Client Server Web Application . Net and Java Technology Web Services Contd.. We need application architecture which can simplify the information exchange across the business processes, with well defined invocable interfaces. Service Oriented Architecture(SOA) can simplify existing complicated environment with introducing a concept of Enterprise Service Bus(ESB). What is Service Oriented Architecture (SOA)? Service Oriented Architecture(SOA), is an application architecture in distributed computing environment , where business functions are modularized and presented as services A service is a reusable component which is a part of building block to form larger, more complex business application functionalities Stack of SOA Presentation Layer(GUIS) Access Layer(Services) Logic Layer(Objects) Data Layer(Tables) Scenario of Software Development with SOA Land Records Registration Municipal Corporation Enterprise Service Bus(ESB) Commercial Taxes Treasuries SOA Model Publish Service Broker Service Provider Find Bind Service Requester SOA Model (contd..) A service provider provides a service interface for a software asset that manages a specific set of tasks. A service requester discovers and invokes other software services to provide a business solution.. A service broker acts as a repository, yellow pages, or clearing house for software interfaces that are published by service providers. Enabling Technologies.. XML: The Extensible Markup Language SOAP: Simple Object Access Protocol is an XML-based lightweight protocol for the exchange of information Provides mechanisms for: -Defining communication unit – SOAP message -Error Handling -Extensions -Data Representation -Document-centric approach for business transactions -Binding to HTTP Contd.. WSDL: The Web Services Description Language is an XML vocabulary that provides a standard way of describing service. A W3C standard XML document that describes three fundamental properties of a service: -What it is-operations (methods) it provides. -How it is accessed-data format, protocols. -Where it is located-protocol specific network address. Contd.. UDDI: The Universal Description, Discovery and Integration specification provides a common set of SOAP APIs that enable the implementation of a service broker. Global business registry UDDI Information Model PublisherAssertion BusinessEntity Info about relationship between 2 parties Info about business that publishes Info about service encapsulates BusinessService Descriptive info about a service encapsulates BindingTemplate Technical info about a service end point tModel Descriptions on specifications of services Web Services Web services are web based applications that , dynamically interact with other applications using open standards which include XML, UDDI and SOAP. What are Web Services? Definition from W3C "Web Service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered by XML artifacts and which supports direct interactions with other software applications using XML-based messages via internet-based protocols". Contd.. Every component that works in a network, is modular is self-descriptive, provides services independent of platform and application, conforms to an open set of standards and follows a common structure for description and invocation. Web Services Architecture Components Service Providers Service Brokers Service Requestors Operations Publish / Unpublish Find Bind Server Stub Between the service and the network is a server stub, sometimes called skeleton. Responsible for receiving a SOAP request from the client stub and converting it into a suitable form for the service- unmarshalling Also converts the response from the service into a SOAP message for the client stub. Client Stub Between client code and the network it is a client stub, sometimes called client proxy. The client stub is responsible for taking a request from the client and converting the request into a SOAP request on the network-marshalling. Also responsible for receiving SOAP responses on network and converting to a suitable form for client. Steps Client calls client stub. SOAP request sent across the network. Server stub receives request and sends request to service. Service sends request to serve stub. Server stub sends result across network to client stub. Client stub sends result to client. How Web Services look like View Of SOA Tables Object Hierarchies Service Interface Service Interface Moving to SOA Getting Started Creating a pure SOA environment will take a long time -Making everything SOAP-accessible may never happen The initial problem is to create service-oriented applications -Service Oriented Architecture is built on this Different organizations move to SOA in different ways The Top-Down Approach How it works: -Define a business architecture -Discover what services are required -Create service-oriented apps based on this Pros: -It’s elegant, clean and sensible Cons: -It’s very difficult in most organizations Getting the up-front funding and business buy-in is tough The Bottom-Up Approach How it works: -Build a service-oriented app Then build another one -Next, work on central SOA issues, e.g. security and management. Pros: -It’s the only approach that works in most organizations Cons: -Its an inelegant, piecemeal approach Conclusion: The mechanics of creating a service are simple Designing a service-oriented application is a bigger challenge -Exposing the right services is hard Hardest of all are SOA’s organizational changes -The real challenges are human, not technical THANK YOU