Integrating OTP with Enterprise Service Bus OAS OTP
Integrating OTP with Enterprise Service Bus OAS (OTP Application Server) Leslaw Lopacki Telenor IS Nordic, Norway leslaw. lopacki@telenor. com 25. 10. 2007 1
Background – what is SOA? What is Service Oriented Architecture? : n Is a collection of services which communicate with each other n Uses loosely-coupled relationships between producer and consumer n Has no direct relationship with software, programming, or technology n Services can be accessed without knowledge of their underlying platform implementation n ORB/CORBA is probably a first SOA implementation n Services are ”usually” defined using WSDL/XSD n Messages are ”usually” SOAP/XML based but not only 25. 10. 2007 leslaw. lopacki@telenor. com ESB 2
What is OAS and OESB? n OAS – OTP based Application Server: n Provides a simple framework for building Erlang based ”Beans” – deployed as Erlang processes – 2 types supported: n n Technically it isn’t a JEE App Server – it simply does not support all JEE specs – but that’s not an issue here OESB – Connects ESB and OAS: n 25. 10. 2007 Dynamic workers – started dynamically on demand Static Workers – registered processes (Singletons) uses SOAP 1. 1 – Erl. Soap 0. 4. 3 leslaw. lopacki@telenor. com 3
Co. Met/Metro/COS at Telenor How this idea was born? : n Metro and COS are integration platforms with ca 50 systems (running at Telenor): n n n Co. Met is a new integration platform which integrates Metro, COS: n n Only isolated systems – e. g. Jabber server We could consider using OTP/Erlang in some installations if it was easier to integrate: n 25. 10. 2007 Uses SOA Enterprise Service Bus from BEA Very limited/no use of Erlang: n n 2 different Application Servers: IBM Web. Sphere and BEA Web. Logic Close integration of JEE and. NET applications e. g. using SOAP/XSD/WSDL leslaw. lopacki@telenor. com 4
Motivation for OESB n n Erlang integrates poorly with large enterprise architectures But thanks to SOA the systems can be more heterogeneous: n n OTP is far more cost-efficient than any existing JEE Application Server, e. g. : n n i. e. appearance of SOA makes it easier to integrate ”small languages” (Erlang …) with the ”big ones” (JEE, . NET, …) Built in efficient look up of resources – reduces “glue code” Built in database: mnesia Offensive approach: simpler “exception handling”, less code needed to get things done SOA and: n n OO does not integrate so well FP seams to be a perfect match Conclusion: n SOA brings an opportunity to introduce OTP in existing installations 25. 10. 2007 leslaw. lopacki@telenor. com 5
OTP’s weaknesses from SOA point of view n Good built in SOAP libraries are essential: n n Lack of infrastructure to quickly deploy applications – application servers Not optimal for “frontend” systems: n n 25. 10. 2007 Erl. Soap is rather limited – i. e. it does not support WSDL Yaws contains some WSDL support (not evaluated here) GUI design support is poor ! Poor support for Web Services and Web technologies leslaw. lopacki@telenor. com 6
OESB Architecture Web Logic Application Server (WLS) SOAP OTP Application Server (OAS) SOAP ESB - Aqua Logic Service Bus (ALSB) 25. 10. 2007 leslaw. lopacki@telenor. com 7
Demo system n n Demo of cinema booking system Exemplifies strong sides: n n 25. 10. 2007 of an App Server: like Web GUI and integration with legacy JEE systems of OTP/Erlang: like high transactional throughput, low latency reliable data storage, FSM support, reliability and scalability leslaw. lopacki@telenor. com 8
Web Logic App. Server: Demo Design WLS Booking. Application (JSP) Booking. Bean (JEE – State-Less Session Bean) 25. 10. 2007 ALSB leslaw. lopacki@telenor. com 9
OTP Application Server: Demo Design cinema_wk booking_dwk OAS 25. 10. 2007 booking_dwk oas_engine booking_dwk oesb (erlsoap) ALSB leslaw. lopacki@telenor. com 10
FSM for booking_agent select_seat_nok/answer_nok select_seat/select idle selecting timeout/deselect no_pay/release cancel_seat/release select_seat_ok/answer_ok rebook_seat_nok/answer_nok rebooking rebook_seat_ok/answer_ok pay_seat_ok/book paid selected rebook_seat/rebook 25. 10. 2007 leslaw. lopacki@telenor. com 11
Demo n 25. 10. 2007 Let’s look at a few glimpses of an implementation example leslaw. lopacki@telenor. com 12
OESB Enhancements (Future) n Take full advantage of OTP n Make it scalable: n n Make it more reliable n 25. 10. 2007 Load balancing support Better redundancy/replication support leslaw. lopacki@telenor. com 13
- Slides: 13