This document introduces Eclipse Libra, which aims to make developing OSGi applications easier for developers. It provides OSGi bundle projects, framework adapters for launching and debugging bundles, and tools for viewing bundle dependencies and the bundle repository. The initial JUNO release includes an OSGi bundle facet, support for WAR products, framework adapters for Felix, Equinox and Knopflerfish, and a framework editor with features like a bundle overview and dependency graphs. The goal is to abstract away complexity and provide OSGi development capabilities within Eclipse similar to other technologies.
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse LibraNaci Dai
This document provides an overview of Eclipse Libra, a set of tools for OSGi enterprise application development in Eclipse. It describes Libra's scope, the tools included in the initial Juno release such as bundle projects, framework adapters, and the bundle overview. It also briefly demonstrates the bundle dependency view and server console.
This document provides an introduction to EclipseRT and OSGi. It discusses how OSGi defines modules for Java applications and how this relates to the evolution of Eclipse's plug-in model. Key points covered include the history of OSGi and Eclipse, how projects like Equinox implement the OSGi framework, and how this modular approach enables applications like Toast and custom runtime environments through EclipseRT and the component-oriented development assembly (CODA) approach.
Just a brief introduction I have given my team to get into the OSGi topic. Guess it is not the highest academic level, but should be enough to understand the fundamentals of OSGi.
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)Murat Yener
This document discusses several Eclipse projects related to OSGi: Eclipse Libra, which provides tools for developing modular applications using OSGi; Eclipse Gemini, which provides modular implementations of Java EE technologies on OSGi; and Eclipse Virgo, which is an OSGi-based application server. It provides an overview of the goals and key features of each project, such as Libra providing abstraction from OSGi containers and adapters for different runtimes, Gemini implementing specifications like Blueprint and JPA on OSGi, and Virgo supporting OSGi bundles and plain Java web apps on Tomcat.
This document discusses OSGi trends, directions, and opportunities. It summarizes that OSGi grew out of a need for modular Java applications but modularity was an afterthought. It is now used widely by companies like Eclipse, IBM, Oracle, and VMware. While OSGi offers benefits, some argue it is still difficult for developers to use. However, as packaging and deployment of applications becomes more distributed and complex, OSGi's modular architecture is increasingly relevant and may see more widespread adoption.
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
The document discusses modularizing a Grails application using private plugins. It covers Grails plugin development basics like creating a new plugin, the plugin descriptor file, excluded files, running and packaging a plugin. It also discusses application architecture with private plugins, including moving common functionality into plugins to avoid forking code.
Java EE 6 is an awesome platform, but how do you design a system that can evolve for many years in production? And how do we run this stuff in the cloud?
Designing a system that can evolve without creating a maintenance nightmare is far from trivial. A service oriented, modular architecture will help a lot to replace parts of a system without breaking others. The only mature modularity approach for Java is OSGi - a framework that enables low-level modularity and services, but you still need APIs to create web applications, use transactions, access data sources etc. Without these APIs you will have a hard time building applications. Unfortunately OSGi and Java EE did not interoperate well in the past; But what if we want modularity in our architecture but also the ease-of-use of Java EE 6?
In this university you will:
1. Understand the benefits of a modular code base
2. Learn how to mix OSGi and Java EE
3. Manage modular cloud deployments using Apache ACE
..and of course there will be lots of live coding!
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse LibraNaci Dai
This document provides an overview of Eclipse Libra, a set of tools for OSGi enterprise application development in Eclipse. It describes Libra's scope, the tools included in the initial Juno release such as bundle projects, framework adapters, and the bundle overview. It also briefly demonstrates the bundle dependency view and server console.
This document provides an introduction to EclipseRT and OSGi. It discusses how OSGi defines modules for Java applications and how this relates to the evolution of Eclipse's plug-in model. Key points covered include the history of OSGi and Eclipse, how projects like Equinox implement the OSGi framework, and how this modular approach enables applications like Toast and custom runtime environments through EclipseRT and the component-oriented development assembly (CODA) approach.
Just a brief introduction I have given my team to get into the OSGi topic. Guess it is not the highest academic level, but should be enough to understand the fundamentals of OSGi.
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)Murat Yener
This document discusses several Eclipse projects related to OSGi: Eclipse Libra, which provides tools for developing modular applications using OSGi; Eclipse Gemini, which provides modular implementations of Java EE technologies on OSGi; and Eclipse Virgo, which is an OSGi-based application server. It provides an overview of the goals and key features of each project, such as Libra providing abstraction from OSGi containers and adapters for different runtimes, Gemini implementing specifications like Blueprint and JPA on OSGi, and Virgo supporting OSGi bundles and plain Java web apps on Tomcat.
This document discusses OSGi trends, directions, and opportunities. It summarizes that OSGi grew out of a need for modular Java applications but modularity was an afterthought. It is now used widely by companies like Eclipse, IBM, Oracle, and VMware. While OSGi offers benefits, some argue it is still difficult for developers to use. However, as packaging and deployment of applications becomes more distributed and complex, OSGi's modular architecture is increasingly relevant and may see more widespread adoption.
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
The document discusses modularizing a Grails application using private plugins. It covers Grails plugin development basics like creating a new plugin, the plugin descriptor file, excluded files, running and packaging a plugin. It also discusses application architecture with private plugins, including moving common functionality into plugins to avoid forking code.
Java EE 6 is an awesome platform, but how do you design a system that can evolve for many years in production? And how do we run this stuff in the cloud?
Designing a system that can evolve without creating a maintenance nightmare is far from trivial. A service oriented, modular architecture will help a lot to replace parts of a system without breaking others. The only mature modularity approach for Java is OSGi - a framework that enables low-level modularity and services, but you still need APIs to create web applications, use transactions, access data sources etc. Without these APIs you will have a hard time building applications. Unfortunately OSGi and Java EE did not interoperate well in the past; But what if we want modularity in our architecture but also the ease-of-use of Java EE 6?
In this university you will:
1. Understand the benefits of a modular code base
2. Learn how to mix OSGi and Java EE
3. Manage modular cloud deployments using Apache ACE
..and of course there will be lots of live coding!
This document provides an introduction to reverse engineering and discusses cracking Windows applications. It begins with a disclaimer that reverse engineering copyrighted material is illegal. It then defines reverse engineering as analyzing a system to understand its structure and function in order to modify or reimplement parts of it. The document discusses reasons for learning reverse engineering like malware analysis, bug fixing, and customizations. It outlines some of the history of reverse engineering in software development. The remainder of the document focuses on tools and techniques for reverse engineering like PE identification, decompilers, disassemblers, debuggers, patching applications in OllyDbg, and analyzing key generation and phishing techniques.
This document discusses Kotlin and its interoperability with Java. It outlines Kotlin's features like its smart compiler, static typing, and tool support. It then discusses how Kotlin enhances existing Java APIs through extensions and collections interfaces. It also describes Kotlin's approaches to preventing null pointer exceptions through nullable types and annotations. Finally, it examines how Kotlin handles static concepts like packages and class objects that don't exist directly in Kotlin.
The document discusses the Swift runtime and its relationship to the Objective-C runtime. It notes that Swift can interoperate with Objective-C on Apple platforms thanks to the shared Objective-C runtime, but not on other platforms like Linux which use a custom runtime. It also discusses object-oriented programming concepts like messaging and monkey patching in Objective-C.
This document summarizes the challenges of adopting OSGi at scale in large enterprises. It discusses how modularity is a key benefit but the migration costs are high due to the large code bases of enterprises. It also covers observations from migrating code at eBay including making all code modular and cleaning up existing problems. Challenges mentioned include determining module granularity, managing package versions and dynamic classloading at scale. It concludes that the reasons for adopting OSGi need to be clear and that starting simple and having strong IDE/build tooling is important due to the high refactoring costs of migration.
This document summarizes a presentation given by Tomas Lin on using Grails for Flex and Java developers. The presentation introduces Grails, highlighting four cool things about it including its ready-to-go configuration and use of the Groovy programming language. It demonstrates how to build a basic Grails application and explores integrating Grails with Flex using plugins for scaffolding and BlazeDS. The document concludes by discussing other Grails and Flex integration options and taking questions.
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.
Lessons I Learned While Scaling to 5000 Puppet AgentsPuppet
Russ Johnson of StubHub talks about "Learning Lessons Scaling to 5000 Puppet Agents" at Puppet Camp San Francisco 2013. Find a Puppet Camp near you: puppetlabs.com/community/puppet-camp/
This document discusses Drupal and MongoDB. It provides an overview of MongoDB as a document-oriented and schema-less database and compares its flexibility, power, speed, and scaling to relational databases. It also describes several Drupal modules that integrate MongoDB as a backend storage mechanism, including for blocks, caching, fields, sessions, queues, and search. Examples are provided of past sessions on using MongoDB with Drupal.
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
This presentation aims to show common pitfalls in OSGi architecture and development and how to avoid them. It involves concrete use cases and their solutions. Antipatterns, bad designs , bad tooling will be presented during this session... This session is user oriented and aimed to give concrete feedbacks and good practices...
Jilles has experience using Docker at Inbot to improve the separation between development and operations work. Some key points:
- Docker helps address the problem of standardized software packaging and runtime configuration, separating provisioning responsibilities for developers and operators.
- At Inbot, Docker was adopted in 2014 and helped eliminate Puppet and move infrastructure to AWS. It simplified software dependencies and improved deployment speed.
- Dockerfiles provide a clear documentation of what is needed to run software, replacing complex configuration scripts and reducing operator workload.
This document discusses object-oriented programming (OOP) and dispels some common myths about it. It provides definitions of OOP and discusses its core concepts like abstraction, encapsulation, inheritance and polymorphism. While OOP is a popular paradigm, it is not a panacea and has some costs like increased complexity. The document analyzes some flawed arguments about OOP and whether a language is "purely" object-oriented. It also examines if some perceived benefits of OOP like reusability have been fully realized. Overall, OOP is presented as a flexible approach but its success depends more on how it is applied than the paradigm itself.
The document discusses using MongoDB as a supplemental database to a Rails application currently using PostgreSQL. MongoDB is a document-oriented NoSQL database that allows for embedding of related data within documents to avoid joins. This can help with tasks like logging, analytics and activity feeds that benefit from flexible schemas, horizontal scaling and real-time updates. Examples are provided of modeling data in MongoDB for features like ads, user profiles, geospatial search and map reduce analytics.
Best Practices for (Enterprise) OSGi applications - Tim Wardmfrancis
OSGi DevCon 2012
Since the first release of the OSGi Enterprise specification in March 2010 the use of OSGi in the enterprise has increased dramatically. Moving traditional Java EE applications to an OSGi stack is intentionally as easy as possible, however there are a number of common mistakes that can make it feel very hard. This session will describe some best practices for developing Enterprise OSGi applications and OSGi bundles, allowing developers to utilise the power of OSGi in a painless way.
Whilst this session is primarily aimed at enterprise developers new to OSGi, much of the content is equally applicable to OSGi development in general, and is definitely recommended to anyone looking to brush up on their OSGi principles!
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.
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.
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Jacek Laskowski
This document discusses developing modular Java applications using OSGi Blueprint and WebSphere Liberty Profile. It provides an overview of OSGi Blueprint, noting that it defines a dependency injection framework for OSGi bundles that understands services. The presentation discusses problems solved by OSGi Blueprint such as visibility of types and versioning. It also includes questions about the differences between Maven and OSGi Blueprint regarding build time versus runtime configuration.
The document discusses distributed fuzzing, which involves spreading the workload of fuzz testing across multiple machines to dig deeper faster. It proposes a distributed fuzzing solution with the following key components: a database to store fuzzing data, a web interface for management, virtual machine nodes running fuzzers and monitoring targets, and an RPC interface to coordinate communication between components. The goal is to make deployment and management of distributed fuzzing easy while avoiding vendor lock-in.
Design Patterns with Kotlin
This document discusses several design patterns and their implementations in Kotlin, including Creational patterns like Singleton, Factory Method, Abstract Factory, and Builder. Structural patterns covered include Facade, Decorator, and Adapter. For each pattern, examples are given in Java and converted to Kotlin. Benefits and drawbacks of the patterns are also summarized. The goal is to explain how to effectively apply common design patterns when programming in Kotlin.
This document provides an introduction to reverse engineering and discusses cracking Windows applications. It begins with a disclaimer that reverse engineering copyrighted material is illegal. It then defines reverse engineering as analyzing a system to understand its structure and function in order to modify or reimplement parts of it. The document discusses reasons for learning reverse engineering like malware analysis, bug fixing, and customizations. It outlines some of the history of reverse engineering in software development. The remainder of the document focuses on tools and techniques for reverse engineering like PE identification, decompilers, disassemblers, debuggers, patching applications in OllyDbg, and analyzing key generation and phishing techniques.
This document discusses Kotlin and its interoperability with Java. It outlines Kotlin's features like its smart compiler, static typing, and tool support. It then discusses how Kotlin enhances existing Java APIs through extensions and collections interfaces. It also describes Kotlin's approaches to preventing null pointer exceptions through nullable types and annotations. Finally, it examines how Kotlin handles static concepts like packages and class objects that don't exist directly in Kotlin.
The document discusses the Swift runtime and its relationship to the Objective-C runtime. It notes that Swift can interoperate with Objective-C on Apple platforms thanks to the shared Objective-C runtime, but not on other platforms like Linux which use a custom runtime. It also discusses object-oriented programming concepts like messaging and monkey patching in Objective-C.
This document summarizes the challenges of adopting OSGi at scale in large enterprises. It discusses how modularity is a key benefit but the migration costs are high due to the large code bases of enterprises. It also covers observations from migrating code at eBay including making all code modular and cleaning up existing problems. Challenges mentioned include determining module granularity, managing package versions and dynamic classloading at scale. It concludes that the reasons for adopting OSGi need to be clear and that starting simple and having strong IDE/build tooling is important due to the high refactoring costs of migration.
This document summarizes a presentation given by Tomas Lin on using Grails for Flex and Java developers. The presentation introduces Grails, highlighting four cool things about it including its ready-to-go configuration and use of the Groovy programming language. It demonstrates how to build a basic Grails application and explores integrating Grails with Flex using plugins for scaffolding and BlazeDS. The document concludes by discussing other Grails and Flex integration options and taking questions.
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.
Lessons I Learned While Scaling to 5000 Puppet AgentsPuppet
Russ Johnson of StubHub talks about "Learning Lessons Scaling to 5000 Puppet Agents" at Puppet Camp San Francisco 2013. Find a Puppet Camp near you: puppetlabs.com/community/puppet-camp/
This document discusses Drupal and MongoDB. It provides an overview of MongoDB as a document-oriented and schema-less database and compares its flexibility, power, speed, and scaling to relational databases. It also describes several Drupal modules that integrate MongoDB as a backend storage mechanism, including for blocks, caching, fields, sessions, queues, and search. Examples are provided of past sessions on using MongoDB with Drupal.
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
This presentation aims to show common pitfalls in OSGi architecture and development and how to avoid them. It involves concrete use cases and their solutions. Antipatterns, bad designs , bad tooling will be presented during this session... This session is user oriented and aimed to give concrete feedbacks and good practices...
Jilles has experience using Docker at Inbot to improve the separation between development and operations work. Some key points:
- Docker helps address the problem of standardized software packaging and runtime configuration, separating provisioning responsibilities for developers and operators.
- At Inbot, Docker was adopted in 2014 and helped eliminate Puppet and move infrastructure to AWS. It simplified software dependencies and improved deployment speed.
- Dockerfiles provide a clear documentation of what is needed to run software, replacing complex configuration scripts and reducing operator workload.
This document discusses object-oriented programming (OOP) and dispels some common myths about it. It provides definitions of OOP and discusses its core concepts like abstraction, encapsulation, inheritance and polymorphism. While OOP is a popular paradigm, it is not a panacea and has some costs like increased complexity. The document analyzes some flawed arguments about OOP and whether a language is "purely" object-oriented. It also examines if some perceived benefits of OOP like reusability have been fully realized. Overall, OOP is presented as a flexible approach but its success depends more on how it is applied than the paradigm itself.
The document discusses using MongoDB as a supplemental database to a Rails application currently using PostgreSQL. MongoDB is a document-oriented NoSQL database that allows for embedding of related data within documents to avoid joins. This can help with tasks like logging, analytics and activity feeds that benefit from flexible schemas, horizontal scaling and real-time updates. Examples are provided of modeling data in MongoDB for features like ads, user profiles, geospatial search and map reduce analytics.
Best Practices for (Enterprise) OSGi applications - Tim Wardmfrancis
OSGi DevCon 2012
Since the first release of the OSGi Enterprise specification in March 2010 the use of OSGi in the enterprise has increased dramatically. Moving traditional Java EE applications to an OSGi stack is intentionally as easy as possible, however there are a number of common mistakes that can make it feel very hard. This session will describe some best practices for developing Enterprise OSGi applications and OSGi bundles, allowing developers to utilise the power of OSGi in a painless way.
Whilst this session is primarily aimed at enterprise developers new to OSGi, much of the content is equally applicable to OSGi development in general, and is definitely recommended to anyone looking to brush up on their OSGi principles!
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.
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.
Developing modular applications with Java EE 6 and Enterprise OSGi + WebSpher...Jacek Laskowski
This document discusses developing modular Java applications using OSGi Blueprint and WebSphere Liberty Profile. It provides an overview of OSGi Blueprint, noting that it defines a dependency injection framework for OSGi bundles that understands services. The presentation discusses problems solved by OSGi Blueprint such as visibility of types and versioning. It also includes questions about the differences between Maven and OSGi Blueprint regarding build time versus runtime configuration.
The document discusses distributed fuzzing, which involves spreading the workload of fuzz testing across multiple machines to dig deeper faster. It proposes a distributed fuzzing solution with the following key components: a database to store fuzzing data, a web interface for management, virtual machine nodes running fuzzers and monitoring targets, and an RPC interface to coordinate communication between components. The goal is to make deployment and management of distributed fuzzing easy while avoiding vendor lock-in.
Similar to JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra (20)
Design Patterns with Kotlin
This document discusses several design patterns and their implementations in Kotlin, including Creational patterns like Singleton, Factory Method, Abstract Factory, and Builder. Structural patterns covered include Facade, Decorator, and Adapter. For each pattern, examples are given in Java and converted to Kotlin. Benefits and drawbacks of the patterns are also summarized. The goal is to explain how to effectively apply common design patterns when programming in Kotlin.
This document summarizes several design patterns used in Java EE, including Singleton, Abstract Factory, Facade, Decorator, Observer, MVC, and Domain Driven Design. It provides examples of how each pattern can be implemented in Java EE using annotations like @Singleton, @Produces, @Stateless, @Inject, and more. It also briefly discusses the pros and cons of implementing these patterns in Java EE.
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Murat Yener
The document introduces Eclipse Orion, an open source web-based integrated development environment (IDE) that allows software development within a browser. It discusses how Orion provides code editing, debugging, version control, and other development tools through a browser without needing to install anything. It also describes how Orion uses plugins to extend its functionality and can be self-hosted or used on the public OrionHub server.
The document discusses the use of Google Web Toolkit (GWT) and PhoneGap to build mobile applications using HTML5, CSS, and JavaScript. It describes how GWT compiles Java code into optimized JavaScript that can run on mobile browsers. The document provides code examples of building basic apps with GWT Mobile Widgets Toolkit (MGWT) and integrating PhoneGap features like geolocation. It advocates that the GWT/MGWT/PhoneGap approach allows building full-featured mobile apps with native device capabilities while coding in a familiar Java environment.
Mobile Java with GWT, Still Write Once Run Everywhere (mGWT+Phonegap)Murat Yener
The document appears to be slides from a presentation on mobile applications. It discusses different mobile platforms like Android, iPhone, Blackberry and Windows Phone. It shows timelines of the evolution of HTML, CSS, JavaScript and mobile platforms. It suggests that with tools like Google Web Toolkit (GWT) and PhoneGap, the "write once run everywhere" concept remains valid for mobile development using web technologies.
The document compares and contrasts several rich internet application platforms: Adobe Flex, Microsoft Silverlight, and JavaFX. It provides code examples and summaries of the key features for each platform. Flex is the most mature with a large ecosystem but high learning curve. Silverlight has fewer components than Flex but integrates well with .NET. JavaFX has potential but lacks components and tooling is not as developed as Flex or Silverlight. The document advocates developing rich clients across platforms using a single Eclipse installation.
JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra
1. OSGi for the Earthlings:
Meet Eclipse Libra
Murat Yener (@yenerm)
Wednesday, October 3, 12
2. OSGi for the Earthlings:
Meet Eclipse Libra
Murat Yener (@yenerm)
Wednesday, October 3, 12
3. Who am I?
• Java/JavaEE, OSGi, GWT, Flex, Android, iOS, Node.js...
simply Code Geek!
• GDG/GTUG Istanbul Lead
• Eclipse Committer
• Conference Speaker
Wednesday, October 3, 12
4. OSGi vs Developers
Human rounded ears OSGi?!?
pointed ears nature?
Fully supported by USS Enterprise Looking for IDE support
Wednesday, October 3, 12
5. OSGi: The good(s)...
•Architecture for developing and deploying modular apps
•Build using OSGi APIs
•Deploy to an OSGi Container
Wednesday, October 3, 12
6. OSGi Containers?
•Runtime for the OSGi Apps
•from Symbian to Enterprise
•equinox, felix, knoplerfish...
Wednesday, October 3, 12
7. JavaEE: If the shoe does not fit
•Tightly coupled -- hardwired
•Not Dynamic -- restarts with
every deploy
•Isolation -- no sharing,
common libraries, version
conflicts, hierarchical class
loading
Wednesday, October 3, 12
11. OSGi: the ugly...
•development complexity, no more plain java (bundles,
activators, manifests)
•each tool adds its own behaivour and complexity
•different containers, different packaging and
configuration
Wednesday, October 3, 12
12. Five Levels of OSGi (Alex Blewit)
can’t possibly work
DENIAL
written by IBM, right?
eclipse use OSGi, I don’t use Eclipse
OSGi is too complex
if you can start up the services in this order
ANGER why does this work in equinox but not felix
please let there be a StackOverflow answer
why can’t this bundles see this class
BARGAINING
why am I getting ClassNotFound Ex
these two same classes are not the same
why doesn’t hibernate work
how do I load a JDBC driver
DEPRESSION why doen’t my custom Log4J logger work
why do I have to write a Manifest manually
sudden dawn of understanding of bundles
see how services can be connected with DS
ACCEPTANCE remote services to other Systems
dynamically upgrade running code
evangelise & tweet & give keynote on OSGi
Wednesday, October 3, 12
13. Developer: the poor...
•need to learn the OSGi way
•need to learn tools
•need to learn containers
Wednesday, October 3, 12
14. Developer: the poor...
•need to learn the OSGi way
•need to learn tools
•need to learn containers
Wednesday, October 3, 12
15. Developer: the poor...
•need to learn the OSGi way
•need to learn tools
•need to learn containers
wait!!!
Wednesday, October 3, 12
16. Building Web/EE Apps
•Different servers
•Different configurations
•Abstraction of Development
Wednesday, October 3, 12
17. Building Web/EE Apps
•Different servers
•Different configurations
•Abstraction of Development
do we really need to invent a new wheel??
Wednesday, October 3, 12
18. Building Web/EE Apps
•Different servers
•Different configurations
•Abstraction of Development
do we really need to invent a new wheel??
Wednesday, October 3, 12
26. Bundle Overview
•Part of framework editor, list and control all bundles
Wednesday, October 3, 12
27. Bundle Dependency View
Graphical representation of bundle dependencies with drill downs
Wednesday, October 3, 12
28. Server Console
Similar to console shells
Wednesday, October 3, 12
29. Bundle Repository Browser
(Virgo) Resolves bundles from OBRs
Spring Enterprise Bundle Repository
Wednesday, October 3, 12
30. WAR Products
•Equinox running in JavaEE server in bridget mode
•Simply add your plugins to a product definition that
exports a WAR file (includes all necessary files!)
Wednesday, October 3, 12
31. demos
•Available online http://www.eclipse.org/libra/documentation/video/
•Launchers and Declerative Services
•Gemini Web
•Http Service and WAR products
Wednesday, October 3, 12
32. QnA
http://eclipse.org/libra
Murat Yener
murat.yener@eteration.com
@yenerm
blogs.eteration.com / devchronicles.com
Wednesday, October 3, 12