QCon London: Mastering long-running processes in modern architectures
OW2 JOnAS Use CAse, OW2con11, Nov 24-25, Paris
1. JOnAS usage in Orange
from development to production
OW2 Conference 2011
Bernard Lupin – France Telecom / Orange
24/11/2011, OW2 Conference 2011
2. agenda
section 1 Orange and OW2 success story
section 2 JOnAS technical architectures in Orange
section 3 around JOnAS : JORAM, JASMINe
section 4 JOnAS use cases : development and integration
section 5 Orange plans for 2012
2 JOnAS usage in Orange France Telecom - Orange
3. Orange and OW2
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
of Orange Brand Services Limited.
4. Orange and OW2
§ 12 years of active OW2 membership
– 1999: France Telecom R&D co-founder of ObjectWeb
– France Telecom Strategic Member of OW2 since its creation
– Orange co-lead of OW2 Open Source Cloudware initiative (OSCi)
§ numerous Orange Labs contributions to the OW2 code base
– CLIF, Fractal, JORM, MEDOR, …
§ strong Group-wide commitments to OW2 JOnAS
4 JOnAS usage in Orange France Telecom - Orange
5. why JOnAS ?
§ strategic reasons
– Orange suggests improvements so that JOnAS answers his needs
– JOnAS is integrated with other useful OW2 components :
JASMINe, JORAM
§ proven quality
– more than 8 years in production and regular tests show very good
performance and robustness
– certified Java EE
– based on best in class product : Apache Tomcat
§ economical reasons
– LGPL license, open source business model, on-demand support cost
5 JOnAS usage in Orange France Telecom - Orange
6. JOnAS success story
§ introduced in 2003
– From 3.3 version to 5.2 now
§ the only AS for development since 2006
– local development platform (JOnAS + Eclipse)
– even for applications deployed on other AS products
§ today 1st Application Server's choice
– JOnAS is the mostly used application server in France
– JOnAS has highest priority in the prescription within the Group
§ migrations from other AS proprietary products to JOnAS
– accompanied by in-house IT support
– very positive feedback
6 JOnAS usage in Orange France Telecom - Orange
7. JOnAS in-house usages
§ JOnAS is the main AS
– for Information System (internal customers)
– for Services Platforms (external customers)
§ main component for agile delivery infrastructure of Java based
applications
– we deliver a ready-to-use development or integration platform in two days
– with Linux, Open JDK, JOnAS, Apache, Maven, Hudson, all together
connected
§ hundreds of applications with JOnAS in production
– thousands of server instances in production
– single instances to large-scale applications
– for all levels of criticality (SLA)
7 JOnAS usage in Orange France Telecom - Orange
8. JOnAS in-house application examples
§ On Information System
– After-sales services, technical applications
– Internal support
– Configuration management
– Internet/intranet portals, customers repositories
– Sales
– Billing
§ On Services Platforms (for internal and external customers)
– Enablers
– MaLigneTV
– Orange Windows Live
– Livebox
§ On Bus Infrastructures
– web services technical bus (WSOI)
– M2M framework
8 JOnAS usage in Orange France Telecom - Orange
9. technical architecture
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
of Orange Brand Services Limited.
10. JOnAS technical architecture
§ Open Source architecture
§ virtualization and agile AS infrastructure
by default JOnAS
OpenJDK
§ n-tier model mandatory
Linux
§ simple architectures Virtlualization stack
x86 hardware
– Farm or standalone by default
– Cluster tested but rare needs
§ industrialization stack
– OW2 JOnAS (includes Tomcat, JORAM)
– OW2 JASMINe (includes JaDOrT, Monitoring)
– OpenJDK
10 JOnAS usage in Orange France Telecom - Orange
11. JOnAS technical architecture
Standalone HTTP Farm HTTP Cluster EJB Cluster
Architectures
LB LB LB
HTTP server HTTP server HTTP server HTTP server HTTP server HTTP server
HTTP server
AS AS AS AS AS AS AS AS AS AS
HTTP replication EJB replication
DB DB DB DB
Use Cases No scalability Very high scalability High scalability with High scalability with
(with or without session session affinity session affinity
No high availability
affinity)
High availability with High availability with
Disaster site : RTO from
High availability with loss loss of session loss of session
4h to days
of session acceptable inacceptable (RTO=0, inacceptable (RTO=0,
(RTO=0, RPO=few RPO=0) RPO=0)
minutes)
For Disaster site : farm For Disaster site : farm
Disaster site possible of clusters of clusters
§ RTO : Recovery Time Objective; RPO : Recovery Point Objective
§ HTTP servers can be collocated with AS or on 2 different machines
§ Several JOnAS instances can run on same OS
11 JOnAS usage in Orange France Telecom - Orange
12. around JOnAS
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
of Orange Brand Services Limited.
13. JORAM usages
§ collocated in JOnAS Application Server
§ messaging intra-application
§ messaging inter-application using queue bridge with new features :
– automatic reconnection
– load-balancing
– persistence
– most of the time Jms Bridge connected with other provider queues
§ BOA : Bus Orange Asynchrone
– implements AMQP protocol (interoperability)
– contains JORAM AMQP broker (HUB)
– requirements :
– interoperable
– high availability
– scalability and elasticity
13 JOnAS usage in Orange France Telecom - Orange
14. JASMINe usages
§ a JOnAS base technical instance is built by agile delivery to
deploy JASMINe tools JaDOrT and JASMINe Monitoring
§ JaDOrT to deploy a version of an application on a set of
instances without service interruption
§ JASMINe Monitoring to manage applicative instances probes :
– probes can collect information on deployed application and on
instances
– collected values can be stored in CSV files or in internal database of
the technical instance
– customized dashboard can be defined to display the results in a real
time mode or in a replay mode
14 JOnAS usage in Orange France Telecom - Orange
15. use cases
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
of Orange Brand Services Limited.
16. use case : development with Jonas
Java development environment
§ we provide a development platform for Java developers with
automatic installation of :
– JDK 1.6
– Eclipse 3.7 and selected plugins
– Subversion 1.6
– Maven 3.0
– Jonas 5.2
§ many configurations
– standard : jonas_root, jonas_base in a DOS window
– using JOPE (JOnas Plugin for Eclipse)
– remote deployment with cargo
– remote debugging
16 JOnAS usage in Orange France Telecom - Orange
17. use case : development with Jonas
Java application startup
§ Orange Maven Archetypes are project templates, which can be
merely copied and patterned to create the foundations of real
java applications.
§ We provide several archetypes, all running on JOnAS,
representing the most common Orange applications:
– standard or RIA (rich internet application) web applications
running on an application server,
– SOA (service oriented architecture) front-end
– middleware applications.
§ With this quick start, developers can focus on functional
requirements, because all the classical plumbing is ready to
use.
17 JOnAS usage in Orange France Telecom - Orange
18. use case : development with Jonas
Java application startup
§ these archetypes are based on our recommended
frameworks :
– Maven for the build
– Spring framework for dependency injection and layer
architecture
– GWT, JSF, Wicket, Flex for the GUI
– CXF for web services
– Hibernate JPA 2 for persistence
§ these archetypes are compliant with our development
recommendations and test bed environment (CLIF injector,
JOnAS-Apache instances, …)
18 JOnAS usage in Orange France Telecom - Orange
19. use case : integration tests with Jonas
automatic integration testing with JOnAS, Maven,
Hudson
§ pre-integration-test step :
– download and install locally a fresh Jonas root
maven-dependency-plugin, goal unpack
– identifies available random port for web container, carol, jms, db
build-helper-maven-plugin, goal generate-port-numbers
– install a fresh Jonas base
maven-antrun-plugin, goal run, ant task jonasbase
– start jonas
cargo-maven2-plugin, goal start
– deploy driver bundle, rar, ear with a jonas deployment plan
cargo-maven2-plugin, goal deployer-deploy
19 JOnAS usage in Orange France Telecom - Orange
20. use case : integration test with Jonas
automatic integration testing with JOnAS, Maven,
Hudson
§ integration-test step :
– simulate web GUI usage : login, create order, logout
– junit tests using HtmlUnit and Selenium 2
§ post-integration-test step
– stop jonas
cargo-maven2-plugin, goal stop
20 JOnAS usage in Orange France Telecom - Orange
21. plans
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
of Orange Brand Services Limited.
22. Orange plans for 2012
§ JOnAS in the Cloud : enhancements
– API configuration (ex : get status on rar and ear currently loaded)
– injection and persistence of JNDI entries
– Enhancements to Jasmine DeployME to support larger set of
variables
– standard assembly through JOnAS web profiles
§ JASMINe monitoring enhancement
– contribute to product industrialization
– complete tooling offer
– JASMINe Advisory tests
22 JOnAS usage in Orange France Telecom - Orange
23. thanks
Orange, the Orange mark and any other Orange product
or service names referred to in this material are trade marks
of Orange Brand Services Limited.