SpringSource dm Server (formerly known as SpringSource Application Platform)
1.
SpringSource Application Platform Aditya Jha
2.
Introduction <ul><li>Java, Enterprise Edition has undergone major changes in recent times </li></ul><ul><li>Most of the changes are in the area of construction of enterprise software </li></ul><ul><li>An area equally important is that of Application Packaging & Deployment </li></ul><ul><li>Disparate forms of packaging (JAR, WAR, EAR) have been existing since the childhood of relevant technologies, with little or no improvement with changing times </li></ul><ul><li>Need to rethink packaging & distribution strategy to make it simpler, more controlled and extensible and modern </li></ul>
3.
Introduction contd… <ul><li>They have heard – JSR 277 in pipeline </li></ul><ul><li>Attempts for a unified standard format of packaging </li></ul><ul><li>Natural support for headless service applications needed </li></ul><ul><li>Defining modular boundaries of enterprise application and a clear picture of their dependency graph is required </li></ul><ul><li>Individual middleware vendors tried to address some of the issues; however, a standard resolution is needed for portability </li></ul><ul><li>We already HAVE the answer – we just need to IDENTIFY it as the answer to our questions </li></ul>
4.
Issues with Java/JavaEE Application Packaging & Deployment <ul><li>Hot-deployment? Is it really hot or lukewarm? </li></ul><ul><li>Redeploying a single module of an enterprise application? </li></ul><ul><li>Application versioning; individual Module versioning? </li></ul><ul><li>A -> B -> Cv1; A -> Cv2 – Natural, but is it easy? </li></ul><ul><li>Library bloat – monolithic archives. How to avoid? </li></ul><ul><li>Exposing POJO services – WITHOUT needing the client code to know how to obtain them (WSDL, JNDI)? </li></ul><ul><li>Selective exposure of packages from an archive? </li></ul><ul><li>Clear representation of boundaries and interfaces of individual modules? Standard meta-data? </li></ul>
5.
Resolution <ul><li>Resolution of these issues can be categorized into two parts </li></ul><ul><li>Formulating a robust packaging and versioning technique with extensible meta-data facility </li></ul><ul><li>A standard infrastructure to support, manage and take advantage of such packaged modules or applications </li></ul>
6.
Resolution of Packaging and Versioning Issues <ul><li>For quite some time in past, Java community has been using a sophisticated, proven and extensible technique of managing meta-data at module-level </li></ul><ul><li>This technique not only solves the existing problems, but also enables us to future-proof our packaging strategies </li></ul><ul><li>The Open-Source Gateway initiative (OSGi) has proven its worth in Eclipse platform and other ways </li></ul><ul><li>The OSGi technology provides the standardized primitives that allow applications to be constructed from small, reusable and collaborative components. These components can be composed into an application and deployed </li></ul>
7.
Resolution of Packaging and Versioning Issues contd… <ul><li>OSGi format uses standard JAR format to define components of an application </li></ul><ul><li>These components are termed as ‘bundles’ </li></ul><ul><li>Each bundle has its meta-data in a standard format in file META-INF/manifest.mf </li></ul><ul><li>Manifest file of each bundle (JAR) will provide </li></ul><ul><ul><li>Name and version of the module </li></ul></ul><ul><ul><li>Type of module </li></ul></ul><ul><ul><li>Dependencies required for the module </li></ul></ul><ul><ul><li>Public interface (exposure) of the module </li></ul></ul><ul><li>Spring-DM (Dynamic Modules) understands OSGi </li></ul>
8.
OSGi Helps <ul><li>Provides a standard way of versioning individual modules of an application </li></ul><ul><li>Dependencies (package/library/service) can be defined in a clear, unambiguous and consistent manner </li></ul><ul><li>Provides greater control over the public interface of individual modules, by providing a layer of encapsulation </li></ul>
9.
Resolution of Infrastructure Issues <ul><li>Need for infrastructure – Server as well as tooling </li></ul><ul><li>SpringSource™ Application Platform (S2AP) and STS </li></ul><ul><li>S2AP is a completely module-based Java application server that is designed to run enterprise Java applications and Spring-powered applications with a new degree of flexibility and reliability </li></ul><ul><li>Manages the lifecycle and dependency management for OSGi modules </li></ul><ul><li>Supports the standard Java EE WAR format as a first-class citizen </li></ul>
10.
Resolution of Infrastructure Issues S2AP & STS <ul><li>Best part - S2AP is not really a new server (which has to prove its worth) </li></ul><ul><li>It’s actually a Spring-DM kernel/runtime over Apache Tomcat </li></ul><ul><li>OSGi standard + Spring-DM + Apache Tomcat = SpringSource™ Application Platform </li></ul><ul><ul><li>References can be found at http://www.springsource.com/products/suite/applicationplatform </li></ul></ul>
11.
S2AP Helps <ul><li>Hot deployment (even on production) becomes a reality </li></ul><ul><li>Provides out-of-the-box support for OSGi bundles </li></ul><ul><li>Provides dependency-injection at three levels – package level, library level and service level </li></ul><ul><li>Supports the notion of centralized repository for bundles/libraries </li></ul><ul><li>Coupled with SpringSource™ Tool Suite (STS), provides an integrated, comprehensive development environment with easy-to-use tools </li></ul>
12.
Migration from standard WAR format to OSGi format <ul><li>S2AP supports deployment of an application packaged in the following formats </li></ul><ul><li>These formats or different ways of packaging an application are also known as ‘ Personalities ’ </li></ul><ul><ul><li>Standard WAR format </li></ul></ul><ul><ul><li>OSGi Bundle (Web-module or Standard-module) </li></ul></ul><ul><ul><ul><li>Shared Libraries format </li></ul></ul></ul><ul><ul><ul><li>Shared Services format </li></ul></ul></ul><ul><ul><li>PAR (Platform Archive) format </li></ul></ul><ul><li>OSGi bundles are classified into two types – Web (akin to WAR) and Standard (akin to JAR) </li></ul>
13.
Summary <ul><li>SpringSource™ Application Platform brings the much-needed changes in enterprise-application development, packaging, versioning and deployment processes </li></ul><ul><li>Presents a refreshing, new and powerful way of merging OSGi standard with the mainstream development and deployment processes </li></ul><ul><li>Further enhances reuse by promoting reusable services and centralized repository of libraries </li></ul><ul><li>A welcome enhancement to the options in Java EE middleware market </li></ul>
Sie haben diese Folie bereits ins Clipboard „“ geclippt.
Clipboard erstellen
Sie haben Ihre erste Folie geclippt!
Durch Clippen können Sie wichtige Folien sammeln, die Sie später noch einmal ansehen möchten. Passen Sie den Namen des Clipboards an, um Ihre Clips zu speichern.
Clipboard erstellen
SlideShare teilen
Sonderangebot für SlideShare-Leser
Nur für Sie: KOSTENLOSE 60-tägige Testversion für die weltgrößte digitale Bibliothek.
Die SlideShare-Familie hat sich gerade vergrößert. Genießen Sie nun Zugriff auf Millionen eBooks, Bücher, Hörbücher, Zeitschriften und mehr von Scribd.