fundamental paradigms for java developers: nosql and osgi
DESCRIPTION
With the amazingly rich Java ecosystem, Java developers have a load of frameworks and solutions to work from and to incorporate in their projects. Learn more in this session. How work Cassandra with OSGI.TRANSCRIPT
Introduction to NOSQL
Otávio Santana@otaviojavahttps://github.com/otaviojava/http://about.me/otaviojava
Agenda
CassandraArchitectureHierarchyModelingExample (Spring and Weld CDI)
NOSQL
Not only SQLKnow your problem first
SQL vs NOSQL•Driver•SQL ANSI• Transactions• High cost of IO• Easy change data base• Relationship
• API• No standarization• No transactions• Find by key• Woring change data base• No relationship
Classification
Architecture StorageOrganization
Key-ValueDocumentGraphColumn Family
CassandraDistributedConfigurableColumns Family
CassandraGossipConsistency Levelwrite and read
ANYONELOCAL_QUORUMEACH_QOURUMALL
Availability
Consistency
Modeling
AnnotationJPA 2.0
Spring
Configuration xml or java Code
Spring Data- Cassandra
Cassandra
Spring Data- Cassandra
Cassandra
PersistenceSimpleImpl@Produces@Inject…
JSR 299
Thank you
Otávio Santana@otaviojavahttps://github.com/otaviojava/http://about.me/otaviojava
#SouJava
Thomas Modeneis@thomasmodeneis
Table of contents
• OSGI– Benefits• Developers
• BusinessReduce, Reuse, Easy Deployment, Dynamic, Adaptive, Fast, Secure.
– Architecture• Layering, Modules, Services, Implementations.
– Conclusion– Demo– Questions ?
Benefits For the Developers
– OSGi reduces complexity.
– Provides a modular architecture
– Reduces development and maintenance expenses
– Realizes the promise of Component-based systems
Benefits For the Business
• Reduces operational costs.
• Integrates multiple devices in a networked environment.
• Enables:
–Tackling costly application development
–
–Maintenance
–
–Remote service management
Reduce, Reuse, Easy Deployment, Dynamic, Adaptive, Fast, Widely Used.
– Reduce• Bundles hide their internals Reducing defects and Simplifying the
development
– Reuse• Makes it very easy to use third party components
• An increasing number of projects providing JARs for OSGi
– Easy Deployment• OSGi installation and Management can be as simple as
– Command shell or – A CLOUD interface like Amazon's EC2
Reduce, Reuse, Easy Deployment, Dynamic, Adaptive, Fast, Widely Used.
Dynamic• Dynamic Model, Developers do not believe this can
be done.
• However, after some time, they realize it actually works
Adaptive• Registry is a dynamic, Service model allows bundles
to find out what capabilities are available
Small The OSGi R.4 Framework can be implemented in
about a 300KB
Fast• Linear list, pre-wires bundles, Each bundle knows
exactly which bundle provides the class
• Significant speed up factor at start up
Reduce, Reuse, Easy Deployment, Dynamic, Adaptive, Fast, Widely Used.
Extensively used in many industries
Automotive, Mobile Telephon,
Industrial Automation ,
Eclipse Environment,
Spring Framework,
Foundation of IBM Websphere,
Oracle (formerly BEA) Weblogic,
Sun's GlassFish,
Redhat's JBoss
Architecture
ConclusionThough components have been on the horizon for long time.
– But so far, they failed to make good on their promises
– OSGi is the first technology that succeed with a component system that really is solving real problems in software development.
• The key reason OSGi technology is successful ?
– It provides very mature component system that actually works
– Code is easier to write, test and reuse is increased.
– Defects are detected earlier
– Is testified by the wide adoption and use in popular apps like Eclipse and Spring.
Demo
• Apache CXF – (SOAP, XML/HTTP, RESTful HTTP, or
CORBA)
• Apache Karaf –Lightweight OSGI container
• Speaker Service Hello World Karaf & CXF
Questions … ?
References
• The Javadoc of the OSGi API
• The specification PDF
• OSGi in different industries and markets
• How to Get Started with OSGi
• Other Links
Links
@soujava
https://www.facebook.com/soujava
http://goo.gl/unH3z
Thank you#soujava
Thomas R Modeneis@thomasmodeneis