pplication Development & Maintenance Services
HCU-ADMS
Service Oriented Architecture with Open source tools
HCU-ADMS Agenda o Introduction to service oriented architecture (SOA) o Technologies to implement SOA o Available tools o Prototype with Open source tools
Takeaways o Demonstrate SOA readiness to customers o Quickly prototype using open source tools
HCU-ADMS Indian Airlines Service
Credit Card Authentication
Taj Hotel Service
Jet Airlines Service
Travel Application
External data
Oberoi Hotel Service
Hertz Car reservation
Service Confirmation
HCU-ADMS What is SOA o o
An architectural style Goal is to achieve loose coupling among interacting software agents.
What is a Service o o o o o o
A unit of work done by a service provider to achieve desired end results for a service consumer Service users are not knowledgeable about the implementation Service is defined by explicit implementation with independent interfaces Services are loosely coupled Invoked through communication protocols implementing location transparency & interoperability Services encapsulate reusable business functionality
HCU-ADMS SOA Predictions According to Gartner o
SOA will become the dominant framework for creating and delivering software
o
By 2006, more than 60% of IT professional services market will be based on the exploitation of web services standards and technologies
o
By 2008, SOA will provide the basis for 80% of development projects. Most application software revenue will come from products that were built using SOA
o
By 2010, 80% of application software revenue growth , including licenses and subscription fees, will come from products based on SOA.
HCU-ADMS The services required o o o o o o o o o o
Routing Addressing Communication technologies, protocols and standards Reliable messaging Publish / subscribe Response / request Events Service aggregation Legacy and application adaptors Connectivity to enterprise application integration middleware o Protocol transformation o Message and data transformations
HCU-ADMS The services required (Contd..) o Application server environments (e.g.J2EE and .Net) o Language interfaces for service invocation (e.g. Java, C/C++/C#) o Authorization o Authentication o Development and deployment tooling o Service interface definition (e.g.WSDL) o Service directory and discovery o Logging and monitoring o Policy and quality of service
An ESB provides the above
HCU-ADMS The services required o o o o o o o o o o o
Define business process Communication technologies, protocols and standards Application server environments (e.g.J2EE and .Net) Business Process Modeling support in the tool Persistent state management Database support Long running transactions Business process versioning Event handling Load balancing Process activity monitoring
A Business process engine provides the above
HCU-ADMS Layered service-oriented architecture Portlets 4
Business Process Process Choreography
3
Services Simple and Composite Services
2
Components Service Provider
7
QoS, Security, Management, UDDI & Monitoring (Infrastructure Service)
Service Consumer
6
Integration Architecture (Enterprise Service Bus)
5
Presentation
Enterprise Components 1
Custom Application
Existing Application Resources Composite service Simple service
Package
HCU-ADMS Mapping to OSS Tools Presentation Any technology
5
6
7
4
3
Services Java, Dot Net, Any technology services
2
Components Service Provider
Enterprise Components 1
Custom Application
Existing Application Resources Composite service Simple service
Package
JUDDI Registry, Muse
Business Process Engine ActiveBPEL, Intalio PXE
Enterprise Service Bus (ServiceMix, Celtix)
Service Consumer
Portlets
HCU-ADMS The need for this Service Offering o o o o
Expressed by delivery teams Customers’ enquiries on experiences Competency development Expertise in SOA and tools
HCU-ADMS The scope of prototype o o o o o
Picked up from travel domain Customer’s request for flight, hotel and car reservation Communicate with different service providers Reserve all or none Focus on business process orchestration
HCU-ADMS
Application demo
HCU-ADMS The technology stack o o o o
Active BPEL (www.activebpel.org) JBoss (www.jboss.org) Eclipse (www.eclipse.org) MySql database (www.mysql.com)
HCU-ADMS Why ActiveBPEL o o o o o o o o
Open source Roadmap for advanced requirements, commercial products Designer built on Eclipse extensible development platform Follows BPEL4WS1.1 standards, adapting to newer versions (WSBPEL 2.0) Good documentation Process can be simulated, debugged Supports remote debugging Integrated with leading application servers.
HCU-ADMS Architecture Web services
Browser
Browser
Apache Tomat web server
Active BPEL
Browser
JBoss Application server
Demonstrated in the POC
MySQL Database
HCU-ADMS Business flow Take customer’s request for flight reservation (From, to, date, class, number of seats), Hotel reservation (city, date, room type, number of days, number of rooms) Car reservation (city, date, type, number of days, number of cars)
Check for available flights
Check for available hotels
Check for available cars
Display availability information to customer Customer selects flight, hotel and car, provides credit card info Failure
Check credit
Check and block car Check and block hotel
Failure
Check and block flight Release flight/hotel/car booking
Success
Confirm flight
Confirm hotel
BPEL Confirmation to customer
Confirm car
HCU-ADMS Active BPEL features/demonstrated o o o o o o o o o o o
Supports Full BPEL 1.1 specification – Demonstrated Process persistence – Demonstrated Parallel execution of activities – Demonstrated Compensation Handling – Demonstrated Web services event Service invocation policies (WS-Policy)- Not supported as per the spec Server fault-tolerance – Demonstrated Diagram based debugging – Demonstrated XPath support – Demonstrated Brower Management console – Demonstrated Process simulation in the designer - Demonstrated
HCU-ADMS Process orchestration – Check Availability
HCU-ADMS Process orchestration – Block, Confirm,Release
HCU-ADMS Performance implications Overhead due to
o XML parsing o Marshalling / unmarshalling o Database persistence
Some published numbers..
o Overhead in message creation, marshalling, unmarshalling, consumption o A local method invocation in Java takes 0ms. o A remote method invocation to a process on the same machine using SOAP/HTTP takes approx. 13ms. o A remote method invocation to a process on a remote machine using SOAP/HTTP takes approx. 47ms.
o Tradeoff if performance is prime
HCU-ADMS Roadmap o o o o o o o o
Integrate with open source ESB Publish integration with other commercial/open source tools Comparison of open source and commercial tools Competency in SOA architecture SOA testing Consulting services for SOA projects Track evolving standards in SOA Help business acquisition
HCU-ADMS Q&A
HCU-ADMS
Thank you For further information, please contact
[email protected]