1. CDI Telco Framework and Aquillian
to the Sip Servlets platform
Annual Mobicents Community Summit
Sochi-Russia, December 4-9, 2011
George Vagenas
CDI Telco Framework project lead
2. Agenda
â CDI Telco Framework
â Few words about CDI JSR-299
â CTF Introduction
â Examples
â Sip Servlets 2.0
â Sip Servlets Arquillian Container
â Introduction to Arquillian
â MSS Arquillian container
â Examples
3. CDI Telco Framework
CDI JSR299, is the Java standard for dependency injection and
contextual lifecycle management. The CDI services provide:
â an improved lifecycle for stateful objects, bound to well-
defined contexts
â a typesafe approach to dependency injection
â object interaction via an event notification facility
4. CDI Telco Framework
CTF brings the power and productivity benefits of CDI into
the Mobicents Sip Servlets platform providing dependency
injection and contextual lifecycle management for
converged HTTP/SIP applications.
Mission Statement
â Simplify SipServlets development by introducing a clean
programming model
â Extensibility is a major concern
â The framework will stand as an extension to the CDI core, thus
making integration with other Java EE 6 technologies a breeze
Project's home: CDI Telco Framework
6. CDI Telco Framework
Benefits
â Loose coupling with strong typing
â Portable extensions
â Reusable components
â Enhanced event notifications mechanism
â Out of the box integration with the rest of the
Java EE ecosystem
9. CDI Telco Framework
Current State and future plans
Currenlty CTF Core in Alpha version providing
â Injection of Sip Servlet tools
â Sip Event notification mechanism
Whats coming next
â Provide extensions with high level abstraction
components
â Integration with Media Server
11. CDI Telco Framework
Sip Servlets 2.0
The new JSR proposal for Sip Servlets 2.0 aims for
enhancements and simplifications over the existing API.
CDI Telco Framework could be a candidate technology to
be adopted in the new specification since the simplified
programming model and the extensibility of the framework
will foster innovation and bring new ideas to the
technology.
12. MSS Arquillian container
Arquillian testing framework, seeks to minimize the burden
on the developer to author integration tests by handling all
aspects of test execution, including:
â managing the lifecycle of the container (start/stop),
â bundling the test class with dependent classes and
resources into a deployable archive,
â enhancing the test class (e.g., resolving @Inject, @EJB
and @Resource injections),
â deploying the archive to test (deploy/undeploy) and
capturing results and failures.
13. MSS Arquillian container
Mobicents brings the Sip Servlets Arquillian
container for testing converged applications.
â Container is based on Tomcat 6.x
â Using SipUnit as SIP client
â We are collaborating with CafeSip developers on the
SipUnit project in order to provide new features, fix
bugs etc.
14. MSS Arquillian container
Extras
â Annotations
â @ContextParam
â @ContextParamMap
â @ConcurrencyControlMode
â Helper classes
â ContextParamTool
â SipStackTool
â Lifecycle extension to provide finer grained
control over container's and test's lifecycle
15. MSS Arquillian container
â Finer grained control over the test's lifecycle
and the container's lifecycle
â Override container configuration as needed
â The integration is completely transparent,
which means you can launch the tests and
get the test results using existing IDE, Ant
and Maven test plugins without any add-ons.
16. MSS Arquillian container
â CTF can be optionally enabled in order to
enrich the test or the test archive.
â On the same test we can have
â Multiple test archives
â Multiple container configuration
20. MSS Arquillian container
What comes next:
â Will be released soon in order to get community
feedback for missing features or bugs
â Work on a Tomcat 7.x based container
â Mobicents Sip Servlets testsuite will migrate to
the new container