The document discusses integrating OSGi and Java EE technologies in GlassFish. It provides an overview of OSGi and how GlassFish leverages OSGi for modularity. Key points include:
- GlassFish runs on top of OSGi and all GlassFish modules are OSGi bundles. This provides improved modularity over traditional Java EE servers.
- OSGi enables features like dynamic installation/uninstallation of bundles without restarting the server. It also allows multiple versions of modules to coexist.
- The document discusses how various Java EE technologies like EJB, JPA, JAX-WS can be integrated with OSGi. This allows OSGi bundles to leverage Java EE services.
- GlassFish
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Arun Gupta
Arun Gupta presented on running Java EE 6 applications in the cloud. He discussed Java EE 6 support on various cloud platforms including Amazon, RightScale, Elastra, and Joyent. He also compared features of different cloud vendors and how Java EE can evolve to better support cloud computing. Gupta concluded that Java EE 6 applications can easily be deployed to various clouds and GlassFish provides a feature-rich implementation of Java EE 6.
GlassFish Server 3.1 is the latest version of the open source Java EE application server. It provides improved developer productivity and manageability. New features include application versioning support, application scoped resources, improved monitoring, and clustering and high availability for HTTP, EJB, and other services. GlassFish remains focused on Java EE standards, open source development, and providing the best platform for building Java applications.
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
The document discusses the Java EE 7 platform and developing applications for the cloud. It outlines the core Java EE 6 programming model and web profile. It also discusses new features in Java EE 7 like modularity, cloud support in specifications like Servlets 3.1 and JPA 2.1, and a technology refresh with specifications like JAX-RS 2.0. The modular design of Java EE 7 applications is also described.
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011Arun Gupta
This document discusses OSGi-enabled Java applications in GlassFish. It provides an overview of OSGi and how it is used in GlassFish to provide modularity. Key points include:
- OSGi allows applications to be broken into modules or bundles that can be installed, uninstalled, started and stopped dynamically without restarting the container.
- In GlassFish, all modules are OSGi bundles which run on top of the OSGi framework. This provides stronger modularity compared to a non-OSGi application server.
- Benefits of using OSGi in GlassFish include demanding stronger modularity, enabling custom tailored application servers, and lazy loading of bundles based on usage patterns.
GlassFish & Java EE Business Update @ CEJUGArun Gupta
This document summarizes GlassFish and Java EE, including:
1. GlassFish has over 200 new customers in 2009 and over 24 million downloads since 2005. It is best for lightweight web applications while WebLogic is best for transactional Java EE applications.
2. GlassFish and WebLogic benefit each other, with GlassFish being the open source Java EE platform and WebLogic the commercial platform integrated with Oracle products.
3. GlassFish is the "scout thread" for Java EE standards and drives innovation, while WebLogic implements standards after GlassFish to ensure alignment. GlassFish 3.1 will include clustering in 2011.
Running your Java EE applications in the CloudArun Gupta
This document discusses running Java EE 6 applications in the cloud using various platforms. It provides an overview of Java EE 6 and how it is well-suited for cloud deployments. It then discusses specific implementations on Amazon EC2, RightScale, Elastra, Joyent, and GlassFish distributions and roadmaps.
The State of Java under Oracle at JCertif 2011Arun Gupta
The document discusses Oracle's strategy regarding Java, open source, and middleware. Key points include:
- Delivering a complete, open, integrated stack of hardware, infrastructure, database, middleware, and applications.
- Integrating Oracle software components to provide unique value to customers.
- Priorities for Java platforms include growing the developer base, adoption, competitiveness, and adapting to change.
- Details of new features in Java SE 7 like string switching and automatic resource management.
- Plans for Java SE 8 including language enhancements from Project Lambda and modularity.
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Arun Gupta
Arun Gupta presented on running Java EE 6 applications in the cloud. He discussed Java EE 6 support on various cloud platforms including Amazon, RightScale, Elastra, and Joyent. He also compared features of different cloud vendors and how Java EE can evolve to better support cloud computing. Gupta concluded that Java EE 6 applications can easily be deployed to various clouds and GlassFish provides a feature-rich implementation of Java EE 6.
GlassFish Server 3.1 is the latest version of the open source Java EE application server. It provides improved developer productivity and manageability. New features include application versioning support, application scoped resources, improved monitoring, and clustering and high availability for HTTP, EJB, and other services. GlassFish remains focused on Java EE standards, open source development, and providing the best platform for building Java applications.
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
The document discusses the Java EE 7 platform and developing applications for the cloud. It outlines the core Java EE 6 programming model and web profile. It also discusses new features in Java EE 7 like modularity, cloud support in specifications like Servlets 3.1 and JPA 2.1, and a technology refresh with specifications like JAX-RS 2.0. The modular design of Java EE 7 applications is also described.
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011Arun Gupta
This document discusses OSGi-enabled Java applications in GlassFish. It provides an overview of OSGi and how it is used in GlassFish to provide modularity. Key points include:
- OSGi allows applications to be broken into modules or bundles that can be installed, uninstalled, started and stopped dynamically without restarting the container.
- In GlassFish, all modules are OSGi bundles which run on top of the OSGi framework. This provides stronger modularity compared to a non-OSGi application server.
- Benefits of using OSGi in GlassFish include demanding stronger modularity, enabling custom tailored application servers, and lazy loading of bundles based on usage patterns.
GlassFish & Java EE Business Update @ CEJUGArun Gupta
This document summarizes GlassFish and Java EE, including:
1. GlassFish has over 200 new customers in 2009 and over 24 million downloads since 2005. It is best for lightweight web applications while WebLogic is best for transactional Java EE applications.
2. GlassFish and WebLogic benefit each other, with GlassFish being the open source Java EE platform and WebLogic the commercial platform integrated with Oracle products.
3. GlassFish is the "scout thread" for Java EE standards and drives innovation, while WebLogic implements standards after GlassFish to ensure alignment. GlassFish 3.1 will include clustering in 2011.
Running your Java EE applications in the CloudArun Gupta
This document discusses running Java EE 6 applications in the cloud using various platforms. It provides an overview of Java EE 6 and how it is well-suited for cloud deployments. It then discusses specific implementations on Amazon EC2, RightScale, Elastra, Joyent, and GlassFish distributions and roadmaps.
The State of Java under Oracle at JCertif 2011Arun Gupta
The document discusses Oracle's strategy regarding Java, open source, and middleware. Key points include:
- Delivering a complete, open, integrated stack of hardware, infrastructure, database, middleware, and applications.
- Integrating Oracle software components to provide unique value to customers.
- Priorities for Java platforms include growing the developer base, adoption, competitiveness, and adapting to change.
- Details of new features in Java SE 7 like string switching and automatic resource management.
- Plans for Java SE 8 including language enhancements from Project Lambda and modularity.
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
The document discusses new features and improvements in Java EE 7 including higher productivity through less boilerplate code and richer functionality, support for HTML5 technologies like WebSockets and JSON, and simplified APIs for RESTful web services, Java Message Service, and JSON processing. Key areas of focus for Java EE 7 are improving developer productivity and adding support for HTML5.
Running your Java EE 6 applications in the CloudArun Gupta
The document discusses running Java EE applications in the cloud using platforms like Amazon Web Services, RightScale, Microsoft Azure, and Joyent. It provides an overview of deploying Java EE applications on each platform, including how to configure and manage applications on Amazon EC2 and S3, deploy using RightScripts on RightScale, publish to Microsoft Azure using Visual Studio, and the language and server options for Joyent. The document also touches on pricing models and some considerations for evolving Java EE for cloud platforms.
The document discusses the GlassFish REST administration backend. It provides an agenda that covers background on JAX-RS and GlassFish, implementation details of the REST backend, tips and tricks, clients, and future plans. It discusses how GlassFish uses configuration beans and the command line interface to manage configuration through REST.
GlassFish Community Update @ JavaOne 2011Arun Gupta
The document contains an agenda for a meeting that includes presentations on Bootstrap, the community report card, the product roadmap, customer stories, and an unconference session. It also includes slides on GlassFish development highlights over the past year and focus areas for the future, as well as a community engagement and trivia questions.
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012Arun Gupta
This document discusses Oracle WebLogic Server 12c and its ability to develop modern, lightweight Java EE 6 applications for both conventional and cloud deployment environments. It highlights how WebLogic Server 12c allows developers to extend their existing skills with the latest Java standards and integrate with open source frameworks. Developers can write less glue code and focus more on business logic by leveraging WebLogic Server's integrated services.
The document discusses Java EE 7 and its focus on supporting cloud platforms. Key points include defining new platform roles to accommodate the Platform as a Service model, adding metadata for service provisioning and configuration, and extending APIs to support features like multi-tenancy that are important for cloud environments. The goal is to make the Java EE platform itself a service that can be easily leveraged on public, private or hybrid clouds.
JAX-RS 2.0 provides enhancements to the JAX-RS API that allow for more powerful RESTful services. Key new features include a client API, filters and interceptors for customization, bean validation integration, and support for asynchronous processing. The client API allows building and invoking requests in a standard way. Filters and interceptors provide extension points for tasks like logging and compression. Bean validation leverages existing JSR 303 annotations. Asynchronous processing supports suspending and resuming requests.
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Arun Gupta
This document provides an overview of JSR 356, which defines a Java API for building HTML5 WebSocket applications. Key points include:
- JSR 356 aims to standardize the API for creating WebSocket endpoints and applications in Java.
- It will be included in Java EE 7 and is currently in an early draft review stage.
- The reference implementation is Tyrus, which is integrated into GlassFish.
- The API supports creating WebSocket endpoints as POJOs or by extending the Endpoint class. It includes annotations for intercepting lifecycle events.
- The API addresses issues like message encoding/decoding, URI template matching, and subprotocol negotiation to enable building interactive client/server apps.
GlassFish Server is the open source application server for Java EE. It provides a proven, high-quality Java EE runtime and is the reference implementation for Java EE standards. GlassFish Server 3.1 combines the benefits of clustering and centralized administration from version 2.1.1 with the modularity and Java EE 6 support of version 3.x. It focuses on developer productivity through tools integration and an improved embedded API, along with updated technologies like Grizzly WebSocket support and refreshed Java EE components.
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
This document provides a summary of OSGi-enabled Java EE applications in GlassFish. It discusses how GlassFish uses OSGi to provide modularity and dynamic features. Key points include:
- GlassFish runs on top of OSGi and uses it to modularize server components and enable dynamic installation/uninstallation of bundles.
- Java EE applications can be packaged as OSGi bundles to take advantage of OSGi features while still using Java EE APIs. This allows for better modularity and dynamic deployment.
- Specifications like OSGi/HTTP Service, OSGi/Web Application, and OSGi/JTA integrate OSGi services into Java EE.
- Declarative services and injection simplify accessing
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaArun Gupta
GlassFish v3 supports OSGi bundles and enables hybrid applications that can leverage both OSGi and Java EE. It implements Java EE services and APIs as OSGi services, allowing OSGi bundles to access Java EE functionality. This allows for improved modularity, reusability, and a faster development cycle compared to traditional Java EE applications. Going forward, GlassFish aims to better support OSGi-enabled Java EE applications and improve the underlying OSGi framework administration.
Java EE 6 provides enhancements to ease of development and extensibility. Key changes include introducing profiles like the Web Profile to make the platform more flexible. The platform is being right sized by pruning unused technologies. Extensibility is improved by embracing open source frameworks. Development is eased through increased use of annotations and reducing the need for deployment descriptors. The first preview release of the Java EE 6 reference implementation GlassFish is available now ahead of the final release later in 2009.
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...Arun Gupta
GlassFish Server 3.1 is the latest version of the GlassFish open source application server. It provides Java EE 6 compatibility, improved performance over previous versions, and new features like high availability clustering and modular extensibility using OSGi. Future versions will continue focusing on developer productivity, manageability, and hybrid OSGi/Java EE applications.
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
The document discusses the Java EE 7 platform and its focus on developing applications for the cloud. It outlines the modular structure of Java EE 7 applications and services, and how this modularity supports deployment on cloud platforms. Key areas that Java EE 7 addresses for cloud development include multi-tenancy, elastic scaling, resource management, and security.
Java EE 6 workshop at Dallas Tech Fest 2011Arun Gupta
The document outlines the key features and capabilities of Java EE 6, which aims to provide more power to developers with less code. It discusses various Java EE 6 technologies like EJB 3.1, CDI, JPA 2.0, JSF 2.0, JAX-RS and how they simplify development. It also previews GlassFish 3.1, the reference implementation of Java EE 6 and talks about the next steps in the evolution of Java EE.
The Java EE 7 Platform: Developing for the CloudArun Gupta
The document discusses the focus of Java EE 7 on supporting the Platform as a Service (PaaS) model. It outlines how Java EE 7 will define new platform roles to accommodate the PaaS model and add metadata for service provisioning, configuration, and sharing of applications and resources. It also discusses how Java EE 7 will extend existing APIs to support multi-tenancy and make the Java EE platform more elastic.
The document discusses the evolution of the Java EE platform and new features in Java EE 6. It outlines how Java EE has moved from being robust but complex to becoming more lightweight and flexible with profiles and pruning of unused specifications. It describes key programming model improvements in Java EE 6 like managed beans, Contexts and Dependency Injection (CDI), and annotations that simplify development.
Boston 2011 OTN Developer Days - GlassFishArun Gupta
GlassFish Server is a Java EE application server that is simple, fast, and innovative. It is open source and has been downloaded over 24 million times. Future versions of GlassFish Server will continue to align with Java EE standards and focus on virtualization and platform-as-a-service capabilities. GlassFish Server 3.1 improves performance and adds clustering and high availability features.
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsArun Gupta
GlassFish Server 3.1 is the latest version of the open source Java EE application server. It provides improved developer productivity, clustering and high availability capabilities, and supports the latest Java EE 6 specification. Some key features include faster redeployment times, session replication for high availability, modular extensibility through OSGi, and enhanced management and monitoring interfaces. Oracle will continue to invest in GlassFish Server to deliver new Java EE versions quickly and drive further innovation in areas like hybrid application development.
GlassFish Server 3.1 is the first Java EE 6 application server with clustering and high availability capabilities. It was released in February 2011 and provides in-memory replication and clustering. The development of GlassFish is focused on flexibility, extensibility, and developer productivity through features like fast auto-deploy and incremental compiling. It utilizes a modular architecture based on OSGi and has over 260 modules.
OSGi-enabled Java EE Applications using GlassFishArun Gupta
The document discusses OSGi-enabled Java EE applications in GlassFish. It provides an overview of OSGi and how it is used in GlassFish to create modular applications. Key points include:
- OSGi allows applications to be broken into bundles that can be installed, uninstalled, started and stopped dynamically.
- GlassFish runs on top of OSGi and all GlassFish modules are OSGi bundles. This allows for a modular platform and custom application servers.
- OSGi specifications like Declarative Services allow OSGi services to be used in Java EE applications through JNDI lookups.
- Hybrid applications can be both OSGi bundles and Java EE archives, leveraging capabilities of both platforms.
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
The document discusses new features and improvements in Java EE 7 including higher productivity through less boilerplate code and richer functionality, support for HTML5 technologies like WebSockets and JSON, and simplified APIs for RESTful web services, Java Message Service, and JSON processing. Key areas of focus for Java EE 7 are improving developer productivity and adding support for HTML5.
Running your Java EE 6 applications in the CloudArun Gupta
The document discusses running Java EE applications in the cloud using platforms like Amazon Web Services, RightScale, Microsoft Azure, and Joyent. It provides an overview of deploying Java EE applications on each platform, including how to configure and manage applications on Amazon EC2 and S3, deploy using RightScripts on RightScale, publish to Microsoft Azure using Visual Studio, and the language and server options for Joyent. The document also touches on pricing models and some considerations for evolving Java EE for cloud platforms.
The document discusses the GlassFish REST administration backend. It provides an agenda that covers background on JAX-RS and GlassFish, implementation details of the REST backend, tips and tricks, clients, and future plans. It discusses how GlassFish uses configuration beans and the command line interface to manage configuration through REST.
GlassFish Community Update @ JavaOne 2011Arun Gupta
The document contains an agenda for a meeting that includes presentations on Bootstrap, the community report card, the product roadmap, customer stories, and an unconference session. It also includes slides on GlassFish development highlights over the past year and focus areas for the future, as well as a community engagement and trivia questions.
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012Arun Gupta
This document discusses Oracle WebLogic Server 12c and its ability to develop modern, lightweight Java EE 6 applications for both conventional and cloud deployment environments. It highlights how WebLogic Server 12c allows developers to extend their existing skills with the latest Java standards and integrate with open source frameworks. Developers can write less glue code and focus more on business logic by leveraging WebLogic Server's integrated services.
The document discusses Java EE 7 and its focus on supporting cloud platforms. Key points include defining new platform roles to accommodate the Platform as a Service model, adding metadata for service provisioning and configuration, and extending APIs to support features like multi-tenancy that are important for cloud environments. The goal is to make the Java EE platform itself a service that can be easily leveraged on public, private or hybrid clouds.
JAX-RS 2.0 provides enhancements to the JAX-RS API that allow for more powerful RESTful services. Key new features include a client API, filters and interceptors for customization, bean validation integration, and support for asynchronous processing. The client API allows building and invoking requests in a standard way. Filters and interceptors provide extension points for tasks like logging and compression. Bean validation leverages existing JSR 303 annotations. Asynchronous processing supports suspending and resuming requests.
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Arun Gupta
This document provides an overview of JSR 356, which defines a Java API for building HTML5 WebSocket applications. Key points include:
- JSR 356 aims to standardize the API for creating WebSocket endpoints and applications in Java.
- It will be included in Java EE 7 and is currently in an early draft review stage.
- The reference implementation is Tyrus, which is integrated into GlassFish.
- The API supports creating WebSocket endpoints as POJOs or by extending the Endpoint class. It includes annotations for intercepting lifecycle events.
- The API addresses issues like message encoding/decoding, URI template matching, and subprotocol negotiation to enable building interactive client/server apps.
GlassFish Server is the open source application server for Java EE. It provides a proven, high-quality Java EE runtime and is the reference implementation for Java EE standards. GlassFish Server 3.1 combines the benefits of clustering and centralized administration from version 2.1.1 with the modularity and Java EE 6 support of version 3.x. It focuses on developer productivity through tools integration and an improved embedded API, along with updated technologies like Grizzly WebSocket support and refreshed Java EE components.
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
This document provides a summary of OSGi-enabled Java EE applications in GlassFish. It discusses how GlassFish uses OSGi to provide modularity and dynamic features. Key points include:
- GlassFish runs on top of OSGi and uses it to modularize server components and enable dynamic installation/uninstallation of bundles.
- Java EE applications can be packaged as OSGi bundles to take advantage of OSGi features while still using Java EE APIs. This allows for better modularity and dynamic deployment.
- Specifications like OSGi/HTTP Service, OSGi/Web Application, and OSGi/JTA integrate OSGi services into Java EE.
- Declarative services and injection simplify accessing
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaArun Gupta
GlassFish v3 supports OSGi bundles and enables hybrid applications that can leverage both OSGi and Java EE. It implements Java EE services and APIs as OSGi services, allowing OSGi bundles to access Java EE functionality. This allows for improved modularity, reusability, and a faster development cycle compared to traditional Java EE applications. Going forward, GlassFish aims to better support OSGi-enabled Java EE applications and improve the underlying OSGi framework administration.
Java EE 6 provides enhancements to ease of development and extensibility. Key changes include introducing profiles like the Web Profile to make the platform more flexible. The platform is being right sized by pruning unused technologies. Extensibility is improved by embracing open source frameworks. Development is eased through increased use of annotations and reducing the need for deployment descriptors. The first preview release of the Java EE 6 reference implementation GlassFish is available now ahead of the final release later in 2009.
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...Arun Gupta
GlassFish Server 3.1 is the latest version of the GlassFish open source application server. It provides Java EE 6 compatibility, improved performance over previous versions, and new features like high availability clustering and modular extensibility using OSGi. Future versions will continue focusing on developer productivity, manageability, and hybrid OSGi/Java EE applications.
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
The document discusses the Java EE 7 platform and its focus on developing applications for the cloud. It outlines the modular structure of Java EE 7 applications and services, and how this modularity supports deployment on cloud platforms. Key areas that Java EE 7 addresses for cloud development include multi-tenancy, elastic scaling, resource management, and security.
Java EE 6 workshop at Dallas Tech Fest 2011Arun Gupta
The document outlines the key features and capabilities of Java EE 6, which aims to provide more power to developers with less code. It discusses various Java EE 6 technologies like EJB 3.1, CDI, JPA 2.0, JSF 2.0, JAX-RS and how they simplify development. It also previews GlassFish 3.1, the reference implementation of Java EE 6 and talks about the next steps in the evolution of Java EE.
The Java EE 7 Platform: Developing for the CloudArun Gupta
The document discusses the focus of Java EE 7 on supporting the Platform as a Service (PaaS) model. It outlines how Java EE 7 will define new platform roles to accommodate the PaaS model and add metadata for service provisioning, configuration, and sharing of applications and resources. It also discusses how Java EE 7 will extend existing APIs to support multi-tenancy and make the Java EE platform more elastic.
The document discusses the evolution of the Java EE platform and new features in Java EE 6. It outlines how Java EE has moved from being robust but complex to becoming more lightweight and flexible with profiles and pruning of unused specifications. It describes key programming model improvements in Java EE 6 like managed beans, Contexts and Dependency Injection (CDI), and annotations that simplify development.
Boston 2011 OTN Developer Days - GlassFishArun Gupta
GlassFish Server is a Java EE application server that is simple, fast, and innovative. It is open source and has been downloaded over 24 million times. Future versions of GlassFish Server will continue to align with Java EE standards and focus on virtualization and platform-as-a-service capabilities. GlassFish Server 3.1 improves performance and adds clustering and high availability features.
GlassFish Server 3.1: Deploying your Java EE 6 ApplicationsArun Gupta
GlassFish Server 3.1 is the latest version of the open source Java EE application server. It provides improved developer productivity, clustering and high availability capabilities, and supports the latest Java EE 6 specification. Some key features include faster redeployment times, session replication for high availability, modular extensibility through OSGi, and enhanced management and monitoring interfaces. Oracle will continue to invest in GlassFish Server to deliver new Java EE versions quickly and drive further innovation in areas like hybrid application development.
GlassFish Server 3.1 is the first Java EE 6 application server with clustering and high availability capabilities. It was released in February 2011 and provides in-memory replication and clustering. The development of GlassFish is focused on flexibility, extensibility, and developer productivity through features like fast auto-deploy and incremental compiling. It utilizes a modular architecture based on OSGi and has over 260 modules.
OSGi-enabled Java EE Applications using GlassFishArun Gupta
The document discusses OSGi-enabled Java EE applications in GlassFish. It provides an overview of OSGi and how it is used in GlassFish to create modular applications. Key points include:
- OSGi allows applications to be broken into bundles that can be installed, uninstalled, started and stopped dynamically.
- GlassFish runs on top of OSGi and all GlassFish modules are OSGi bundles. This allows for a modular platform and custom application servers.
- OSGi specifications like Declarative Services allow OSGi services to be used in Java EE applications through JNDI lookups.
- Hybrid applications can be both OSGi bundles and Java EE archives, leveraging capabilities of both platforms.
This document discusses the future of the GlassFish open source project. It outlines that GlassFish will continue to be developed as an open source project under Oracle, with GlassFish 3.1 planned for 2010 and GlassFish 4.0 aligned with Java EE 7. It highlights some new features for GlassFish 3.1 like clustering, application versioning, and RESTful API. It aims to reassure the community that Oracle's acquisition of Sun will not change the open governance and development of GlassFish.
This document provides an overview of eBay's use of OSGi for its enterprise architecture. Some key points:
- eBay has a large codebase of over 44 million lines of code that was becoming difficult to manage due to its monolithic nature and tight coupling.
- eBay adopted OSGi to introduce modularity and loose coupling into its architecture in order to tame complexity, increase agility, and allow different components to evolve independently.
- OSGi was chosen because its features like bundles, imports/exports, and versioning help achieve eBay's goals of modularity, hiding implementation details, and accurate dependency management.
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011Arun Gupta
GlassFish Server 3.1 provides clustering and high availability for Java EE 6 applications. It allows deploying applications across multiple instances for scalability and redundancy. Some key features include session replication using Shoal, support for clustering web, EJB, and other services, and application versioning to deploy multiple versions of an application.
OSGi is a modular system for Java that allows software to be split into components called bundles that can be installed, started, stopped, updated dynamically without requiring a restart. Bundles define dependencies and versions, and services can be published and discovered within a Java Virtual Machine. OSGi aims to support component-based development and addresses issues with modularity in standard Java.
A fairly short (26 slides) presentation covering the GlassFish community and product (v2 and upcoming modular v3) as well as Java EE 5 and upcoming Java EE 6.
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsJasmine Conseil
The document discusses using OSGI and futures evolutions to enforce modularity in JasForge. It provides a brief overview of OSGI, explaining how it breaks applications into modules that can be dynamically installed, uninstalled, started and stopped without restarting the container. It then outlines how JasForge agile tools will be available as bundles in an OSGI container like Spring DM, making projects "OSGI ready". An update installer is planned which will facilitate localizing and updating OSGI compatible tools on the JasForge platform.
GlassFish Server is Oracle's open source Java EE application server. It implements the full Java EE specification and is the reference implementation. GlassFish Server 3.1 focuses on improved developer productivity, updated technologies, clustering, manageability, and continued innovation to deliver the future of Java EE. The presentation outlines the history and roadmap of GlassFish Server and how it aims to provide the best platform for Java EE applications.
GlassFish provides a modular and extensible Java EE application server runtime based on OSGi. It allows developers to extend GlassFish through OSGi bundles and also supports hybrid applications that are both Java EE archives and OSGi bundles. GlassFish integrates OSGi services like JPA, JMS, and EJB to provide a unified runtime for Java EE and OSGi applications and aims to offer the benefits of modularity, independent lifecycles, and standard application models to Java EE developers.
OSGi provides a standard way to build modular Java applications by introducing bundles and services. Bundles define modules that can import and export Java packages. Services allow bundles to connect in a dynamic way by publishing and consuming objects. The OSGi framework manages bundle lifecycles and provides a service registry to discover and bind to services. This allows parts of an application to be updated or replaced while it is running.
This document discusses combining OSGI modularity with Java EE functionality using Apache Karaf. It provides an overview of OSGI and modularity concepts. It then discusses how the Apache Karaf container can be used to build modular applications and how features like JPA, EJB, and CDI can be incorporated through projects like Aries and OpenEJB. An example architecture is shown using Karaf with Java EE components like JPA and EJB. The presentation concludes that Karaf allows leveraging both OSGI and Java EE technologies for modular application development.
The document discusses OSGi Service Platform and its capabilities for Java modularity. It describes how OSGi bundles provide an explicit module concept in Java by defining code boundaries and versioned dependencies. The OSGi framework automatically resolves dependencies between bundles and enforces consistency rules during class loading to support multi-versioning and isolated namespaces for modules. It also provides life-cycle management for dynamic installation and updating of bundles.
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OpenBlend society
There's a considerable activity in the enterprise Java community about the use of OSGi in Java EE applications. We call such applications "hybrid applications." With hybrid applications, developers can continue to build standard and familiar enterprise application components, such as Java Servlets and EJBs, and take full advantage of:
* Features such as modularity/dependency management, service dynamism, and more provided by OSGi
* Infrastructure services such as transaction management, security, persistence, and more offered by Java EE
This session will present the current state of affairs, discuss the benefits of hybrid applications, and demonstrate development and deployment of such applications.
GlassFish will be used for demonstration.
Full Java EE 6 support, great developer experience, multiple yet simple admin tools, embedded mode, mutli-language runtime, OSGi modularity, ... The GlassFish set of feature reads like the roadmap of our closest competitors. See how they can work for you. Today.
A (very) quick introduction to OSGi for Java developers. These slides are meant to be a quick overview of the technology and make you understand how useful it can be.
The document provides an overview of Java EE 6 tooling support in NetBeans, Eclipse, and IntelliJ IDEs. It discusses how each IDE supports key Java EE 6 APIs like JPA, JAX-RS, JSF 2.0, CDI, and how they allow working with GlassFish servers. NetBeans and IntelliJ generally provide the best support for Java EE 6 features out of the box, while Eclipse support has improved but still lacks support for some new APIs and concepts.
Java SE 7 provides performance benefits over Java SE 6 through new features like the G1 garbage collector and the fork/join framework, optimizations to the HotSpot JVM and class libraries, and continued improvements through updates. It is the recommended version for new deployments due to its maturity of over a year since general availability and certification by major vendors.
This document provides an overview of new features in Java 8, including lambda expressions, modularity with the Java Platform Module System, and performance enhancements with parallel array sorting and concurrency updates. It discusses the motivation and design of modularity in Java 8, how to compile and install modules, and differences from OSGi. Lambda expressions add support for operating on blocks of Java code. The presentation encourages attending to documentation, downloading SDKs, testing code, and providing feedback on the Java Technology Community site.
Similar to OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010 (20)
5 Skills To Force Multiply Technical Talents.pdfArun Gupta
This talk explains what are non-technical skills, why they are relevant, and what are some of the most important skills to master to force multiply your technical talent.
Machine Learning using Kubernetes - AI Conclave 2019Arun Gupta
This document discusses machine learning using Kubeflow. It provides an overview of Kubeflow, which is a containerized machine learning platform that makes it easy to develop, deploy, and manage portable, scalable end-to-end ML workflows on Kubernetes. It discusses various Kubeflow components like Jupyter notebooks, Fairing for packaging ML jobs, Katib for hyperparameter tuning, KFServing for model serving, Pipelines for orchestrating workflows, and Metadata for tracking artifacts. It also provides guidance on deploying Kubeflow on Amazon EKS and optimizing distributed deep learning performance on EKS.
Secure and Fast microVM for Serverless Computing using FirecrackerArun Gupta
Firecracker is a lightweight virtualization technology developed by Amazon that provides security and isolation of virtual machines with the speed and density of containers. It uses KVM virtualization and has a minimal guest device model to provide fast launch times of less than 125ms per microVM while using under 5MB of memory per microVM. Firecracker is open source and designed to securely run thousands of multitenant microVMs on a single host through its REST API and by leveraging statistical multiplexing of resources.
Building Java in the Open - j.Day at OSCON 2019Arun Gupta
Amazon develops and maintains Corretto, an open-source distribution of OpenJDK. Corretto provides long-term support with quarterly security updates for Java on Linux, Windows, and macOS. Amazon contributes patches and improvements to OpenJDK and aims to upstream all changes. The Amazon Corretto Crypto Provider offers accelerated cryptographic performance for workloads.
Amazon contributes to open source projects for several reasons: to better serve customers by supporting popular open source technologies, drive innovation by collaborating with the open source community, reduce maintenance costs by fixing issues upstream, and improve quality and security by incorporating community feedback. Some examples of projects Amazon contributes to include Docker, Kubernetes, Apache Spark, and Linux kernel. Amazon engages with the open source community through its website, Twitter account, and blog to share updates on its open source efforts.
This document discusses machine learning using Kubernetes. It provides an overview of Amazon EKS for running Kubernetes in the cloud, and options for setting up Kubernetes clusters for machine learning workloads, including training models, inference, and applications. It also covers challenges in containerizing machine learning and introduces AWS deep learning containers and KubeFlow for simplifying machine learning on Kubernetes.
The key principles of cloud native applications are:
1. They enable organizations to build and ship features faster without worrying about failure or iteration.
2. They pay for what is used last month, not what may be needed next year, allowing teams to experiment and fail fast without significant investment.
3. They are self-service, API-driven, and automated, moving from requesting tickets for each step to self-service tools that empower teams.
This document discusses chaos engineering and how to use it to test the resilience of applications running in Kubernetes clusters. It describes how chaos engineering involves intentionally introducing failures and disturbances to test a system's ability to withstand turbulent conditions. The document outlines the phases of chaos engineering experiments including defining hypotheses, scoping experiments, monitoring metrics, and implementing fixes to address any issues found. It also provides examples of how tools like Istio can be used to inject faults like timeouts or HTTP errors to test applications running in Kubernetes on Amazon EKS.
How to be a mentor to bring more girls to STEAMArun Gupta
The document discusses how to be a mentor to bring more girls to STEAM. It outlines challenges like unconscious bias, lack of role models, and topics/content mainly appealing to boys. It recommends starting mentorship early, encouraging girls to attend and present at events, and being a role model. Examples are given of girls who found success through mentorship programs like Devoxx4Kids, pursuing interests in computer science, engineering, and NASA. The conclusion calls mentors to inspire one girl to get involved in STEAM through attending, volunteering, or presenting at events like Devoxx4Kids.
Java in a World of Containers - DockerCon 2018Arun Gupta
This document discusses Java and containers. It begins with an introduction to Java's suitability for containers due to its managed runtime, hardware agnosticism, safety/security, reliability, and rich ecosystem. It then covers topics like creating Docker images from Java applications, building custom Java runtimes using jlink, and optimizing image sizes through multi-stage builds and smaller base images like Alpine Linux. The document also discusses features like class data sharing between containers using AppCDS, ahead-of-time compilation with jaotc, and how the JVM can honor Docker resource limits for CPU and memory. Overall it provides an overview of using Java in container environments and related tools and techniques.
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
The document discusses the rise of serverless computing and its benefits. It describes how AWS pioneered serverless computing with AWS Lambda and has since expanded its serverless offerings. The serverless model provides easy scaling, high availability, and developers can focus on writing code without worrying about infrastructure management. Containers are also discussed as working with serverless computing.
Introduction to Amazon EKS - KubeCon 2018Arun Gupta
Amazon EKS (Elastic Kubernetes Service) is a managed service that makes it easy to run Kubernetes on AWS. It handles provisioning and managing control plane resources so users can focus on applications. EKS provides a native Kubernetes experience while integrating seamlessly with other AWS services to eliminate undifferentiated heavy lifting. The EKS team actively contributes to the open source Kubernetes project.
Mastering Kubernetes on AWS - Tel Aviv SummitArun Gupta
The document contains instructions and diagrams for deploying and managing Kubernetes clusters on AWS. It includes commands for creating a Kubernetes cluster using KOPS or EKS, as well as diagrams showing example Kubernetes cluster architectures with nodes, masters, storage, logging and monitoring components when using AWS.
Top 10 Technology Trends Changing Developer's LandscapeArun Gupta
The document discusses 10 emerging technology trends that are changing the developer landscape:
1. Containers are being used as a lightweight alternative to virtual machines for packaging, deploying, and scaling applications. Container orchestration frameworks like Docker and Kubernetes are emerging.
2. Microservices architectures break applications into small, independent services that communicate over HTTP. This enables independent deployment and scaling of services.
3. DevOps practices like continuous integration/deployment, automation, and collaboration between development and operations are becoming standard.
Java EE and NoSQL using JBoss EAP 7 and OpenShiftArun Gupta
The document discusses using Java EE 7 and NoSQL databases with JBoss EAP 7 and OpenShift. It highlights key features of Java EE 7 including improved developer productivity. It also provides an overview of different types of NoSQL databases like key-value, document, graph and columnar databases. Examples are given of using Couchbase with Java applications and frameworks like WildFly Swarm.
Docker, Kubernetes, and Mesos recipes for Java developersArun Gupta
The document discusses Docker, Kubernetes, and Mesos for Java developers. It provides an overview of Docker, including what it is, how images and containers work, and common commands. It also covers using Docker Machine to create Docker hosts, Docker Compose for defining and running multi-container apps, networking with Docker, and persistent storage options.
Arun Gupta has over 25 years of experience in senior technology leadership roles. He has held positions such as Vice President at Intuit, Group Vice President at Oracle, and Vice President and General Manager at Middleware. Currently, Arun Gupta is the President and CEO of PAMTEN Inc.
Migrate your traditional VM-based Clusters to ContainersArun Gupta
The document discusses migrating traditional VM-based clusters to container-based clusters using Docker, Kubernetes, DC/OS, and Couchbase. It provides step-by-step instructions on setting up Couchbase clusters on each platform, including creating Docker machines and Swarm clusters, defining Kubernetes replication controllers and services, deploying Couchbase applications on DC/OS using Marathon, and automatically scaling the clusters.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfTechgropse Pvt.Ltd.
In this blog post, we'll delve into the intersection of AI and app development in Saudi Arabia, focusing on the food delivery sector. We'll explore how AI is revolutionizing the way Saudi consumers order food, how restaurants manage their operations, and how delivery partners navigate the bustling streets of cities like Riyadh, Jeddah, and Dammam. Through real-world case studies, we'll showcase how leading Saudi food delivery apps are leveraging AI to redefine convenience, personalization, and efficiency.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Full-RAG: A modern architecture for hyper-personalization
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
1. <Insert Picture Here>
OSGi & Java EE in GlassFish
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta
2. The following/preceding is intended to outline our
general product direction. It is intended for
information purposes only, and may not be
incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
2
8. The OSGi Alliance is a worldwide
consortium of technology innovators
that advances a proven and mature
process to assure interoperability of
applications and services based on
its component integration platform.
8
10. What is OSGi Specification ?
• Delivered by OSGi Alliance
• Originally for embedded devices, set top boxes, network
• Architecture for modular application development
in Java
• Breaks applications into “modules” or “bundles”
• Can install, uninstall, start, and stop each bundle
dynamically without restarting container
• Multiple versions are supported
• Dependencies explicitly defined with clear
boundaries
10
11. “JAR Hell”
• JAR is a build-time and deploy-time
concept, not run-time
• Based on the ZIP file format
• No metadata to indicate dependencies
• Multiple versions of JARs cannot be
loaded
• All “public” classes are public
• Access modifiers are for packages, not JAR
11
12. OSGi Layers
Service
Life Cycle
Module
Execution Environment
12
13. OSGi Bundle – Just a JAR File!
Export-Package
Import-Package
Java Classes, Static Files, … Bundle-ClassPath
(bundle private) ...
META-INF/MANIFEST.MF
Persistent
OSGI-OPT
(docs, source code, ...)
Atomic
13
14. Bundle is identified by ...
• Bundle Identifier
• Unique for the lifetime
• getBundleId()
• Bundle Location
• Unique location of the bundle
• getLocation()
• Bundle Symbolic Name and Version
• Globally unique identifier
• getSymbolicName(), getVersion()
14
16. Interaction between layers
register / unregister
get / unget Service
manage
start / stop
Life Cycle
Bundle
Bundle
install
uninstall
classload
Module
execute
EE
16
17. Bundle State Diagram
update
refresh install
INSTALLED
STARTING
update rt
resolve sta
refresh
RESOLVED ACTIVE
uninstall stop
STOPPING
Each bundle installation is
new
17
19. What is GlassFish ?
• GlassFish is an open source community
• Delivers Java EE Reference Implementation
• GlassFish Server Open Source Edition - glassfish.org
• Oracle GlassFish Server - oracle.com/goto/glassfish
• Tooling: NetBeans, Eclipse, IntelliJ
• GlassFish 3.1 – currently developed
• Modular, Embeddable, Extensible
• High Availability, Clustering, Centralized Administration
19
20. GlassFish Distributions
Distribution License Features
GlassFish Open Source CDDL & • Java EE 6 Compatibility
Edition 3.0 GPLv2 • No Clustering
• Clustering planned in 3.1
• mod_jk for load balancing
GlassFish Open Source CDDL & • Java EE 5 Compatibility
Edition 2.1.1 GPLv2 • In memory replication
• mod_loadbalancer
Oracle GlassFish Server 3.0 Commercial • GlassFish Open Source Edition 3.0
• GlassFish Server Control Clustering
• Clustering planned in 3.1 Coming
Soon!
Oracle GlassFish Server Commercial • GlassFish Open Source Edition
2.1.1 2.1.1
• Enterprise Manager
• HADB
20
22. OSGi in GlassFish
• GlassFish runs on top of OSGi
• Felix is default, also runs on Equinox &
Knopflerfish
• Runs in an existing shell
• 200+ bundles in v3
• All GlassFish modules are OSGi bundles
• No OSGi APIs are used in GlassFish
• HK2 provides abstraction layer
http://blogs.sun.com/arungupta/entry/totd_103_glassfish_v3_with
http://blogs.sun.com/arungupta/entry/totd_127_embedding_glassfish_in
22
23. GlassFish: Modular Platform
REST OpenMQ WebSpace Server
Scripting OpenESB OpenSSO
Web Services JMS Portal
Web Connection Java Web Services
JSF EJB Container
Application Container
Container Pooling (JCA) Persistence Interop
Management Console Update Center Management CLI
Naming Grizzly Framework Monitoring/
Injection
Service Config Deploy
Manager
Security Monitor Configuration
Cluster Serviceability/
Logging
GlassFish V3 Core
Transaction Security (Module Subsystem)
Service Service Deployment Clustering
OSGi
Java SE
23
24. GlassFish v3 Runtime with OSGi
GlassFish V3 modules
Random OSGi Bundle
(OSGi + extra metadata)
Service OSGi
HK2 Service layer
Mapper Service Layer
OSGi Bundle Management
24
25. Benefits of OSGi for GlassFish
• Demands and enforces stronger modularity
• Enables custom tailored App server
• Lazy loading based on usage patterns
• Open for all JVM based technologies
• Native deployment of JRuby-on-Rails application
• Successfully maintained quick startup
• Available to GlassFish developers and
users
25
26. Create an OSGi Bundle – Maven
• Create a Maven project
• Implement “BundleActivator”
• Update “pom.xml”
• Change packaging to “bundle”
• Add dependencies on OSGI APIs
• Use “maven-bundle-plugin” to package
• Build the bundle
http://blogs.sun.com/arungupta/entry/totd_36_deploy_osgi_bundles
26
27. Create an OSGi bundle – NetBeans
http://blogs.sun.com/arungupta/entry/totd_125_creating_an_osgi
27
28. Create an OSGi bundle – NetBeans
http://blogs.sun.com/arungupta/entry/totd_125_creating_an_osgi
28
29. Create an OSGi bundle – Eclipse
http://blogs.sun.com/arungupta/entry/totd_126_creating_an_osgi
29
30. OSGi Bundles in GlassFish
• asadmin deploy –type osgi
• “cp”/“rm”
glassfish/domains/domain1/autodeploy/bundles
• telnet localhost 6666
• Apache Felix Web Console
• REST Console bundle
• Perl-based shell (Osgish)
• VisualVM OSGi Plugin
• Supports OBR
• Discover and deploy dependencies together
http://blogs.sun.com/arungupta/entry/totd_118_managing_osgi_bundles
30
32. Dynamic Discovery of OSGi service
OSGi
Export-Package API Service
Registry
Import-Package
Impl
Bundle-Activator
Service
Import-Package Trackerasdsadasdsd
cker
Client Service Tra
Bundle-Activator
Filters
http://blogs.sun.com/arungupta/entry/totd_131_dynamic_osgi_services
32
33. Why OSGi in Enterprise Apps ?
• Improved modularity
• Reusable bundles
• Dependencies are more visible
• Better isolation / Cleaner class loading model
• Better version control
• Faster deployment cycle
• Better tools for deployment
• Observable bundle life cycle
• Service Tracking
• Criteria-based service selection
33
34. Why Java EE in Enterprise Apps ?
• Better API (JPA, JTA, JAXB, JNDI)
• Better component model (Servlet, EJB, JAX-RS)
• Better frameworks (JSF, CDI)
• Ease-of-use (Annotations, Convention-over-
configuration)
• Platform provided integrated infrastructure
services
• Transaction, Security, Persistence, Remoting, ...
• Many more reasons ...
34
36. OSGi Enterprise Expert Group
The OSGi Enterprise Expert Group
(EEG) is chartered to define the
technical requirements and
specifications to tailor and extend the
OSGi Service Platform to address
information technology software
infrastructure use cases found in
enterprise business scenarios.
http://www.osgi.org/EEG/HomePage
36
37. Current Status
• Released OSGi Service Platform Enterprise
Specification 4.2 in 2010
• Open Source Efforts
• GlassFish
• Project Aries
• Eclipse Gemini
37
38. Hybrid Applications
“A hybrid application is an OSGi
bundle as well as a Java EE
archive and hence has both an
OSGi bundle context and Java EE
context at runtime and can
leverage capabilities of both the
platforms.”
38
39. Role of GlassFish
• Provides a runtime for Hybrid Applications
• Implements Java EE related OSGi services
and standards
• Don't have to assemble the bits
• OSGi is no longer under the cover
• Raises visibility from GlassFish developers to users
39
40. OSGi EEG Focus
• Scaling, including multi-container and multi-process
environments
• Distributed and/or federated service model for
• Multiple Service Platforms
• External, heterogeneous systems
• Requirements for extensions to the OSGi
publish/f nd/bind service model
i
• Enterprise-class life cycle and conf guration
i
management
• Integration of established Java EE technology into
OSGi
40
41. Why Hybrid Apps ?
Best of both worlds!!!
Why do you want to learn new APIs ?
41
42. Role of GlassFish
• Provides a runtime for Hybrid Applications
• Implements Java EE related OSGi services
and standards
• Don't have to assemble the bits
• OSGi is no longer under the cover
• Raises visibility from GlassFish developers to users
42
44. OSGi/Web Application (rfc #66)
• Web Application Bundle (WAB)
• WAR + OSGi + Web-ContextPath Header
• Can use all enterprise APIs include JPA with lazy loading
• Sample manifest:
Manifest-Version: 1.0
Import-Package: javax.servlet.http; javax.persistence
Bundle-ClassPath: WEB-INF/classes/,WEB-INF/lib/entities.jar
Bundle-Version: 1.0
Bundle-ManifestVersion: 2
Web-ContextPath: /hello
Bundle-SymbolicName: test.hellowab
• Wrapped WAR Support
• webbundle: URL scheme
44
45. OSGi Declarative Services
• Complications of Publish/Find/Bind
• Long startup time
• Memory footprint
• Complex service programming model
• OSGi services in Java EE
@Resource(mappedName=”osgiName”)
SomeOSGiService osgiService;
• JNDI Lookup
• Portable, no OSGi dependencies in application
• Exported APIs visible to Java EE apps
45
49. JAX-WS & OSGi
Artifacts WSDL
JAX-WS
JAX-WS Endpoint
Client Business
Delegate
Method
Query
Registry
OSGi OSGi
Register
Service
Service
Bundle
Registry
Business
Method
http://blogs.sun.com/arungupta/entry/totd_130_invoking_a_osgi
49
50. OSGi & EJB
• Export EJB as OSGi services
• Pure OSGi component can discover/invoke
the service
• Advantages
• Declarative security, Transaction, Context dependency,
Injection, … are available to non-EE components
• TX context from pure OSGi bundle
propagates to invoked EJB
• Ditto for security and persistence context
50
51. OSGi & EJB
Client OSGi Service Registry
login
Export-Package
API register
Export-EJB Impl
Container-managed
JPA
LoadData
http://weblogs.java.net/blog/ss141213/archive/2010/03/30/ejb-osgi-service-demo-eclipsecon
51
54. Extending GlassFish v3
Using Spring dm Container
• Simple Spring bean
implementing the
service
• Invoke the service
from a servlet using
standard @Resource
injection
• Single runtime for
both Spring and full
Java EE
http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4
54
55. Upcoming
OSGi & Java EE Integration in 3.1
• With JPA
• Entities + persistence.xml bundled as OSGi bundle
• EE resources like JDBC, JavaMail, or JMS resource
available in OSGi service registry
• With CDI& JAX-RS
55
56. Upcoming
OSGi & Java EE Integration in 3.1
• GlassFish can be embedded in OSGi and non-OSGi
runtime
• OSGi Administration
• Apache Gogo Shell – Scripting environment (RFC #147)
• Scripting, Piping, Variables, ...
• Closures, Dynamic method invocations, ...
• OSGi Web Console – Web-front end
• OBR Integration – Deployment can resolve
dependencies via OBR
http://wiki.glassfish.java.net/attach/V3FunctionalSpecs/GFv3.1-OSGi-onepager-v0.2.txt
56