This presentation show several options how to implement microservices: the Netflix stack, Consul, and Kubernetes. Also integration options like REST and UI integration are covered.
WildFly AppServer - State of the Union
as presented at SoftShake Geneva, Oct 2015
http://soft-shake.ch/2015/en/
Covering the whole WildFly v8/9/10 series and the key aspects of the base AS7 architecture.
This presentation show several options how to implement microservices: the Netflix stack, Consul, and Kubernetes. Also integration options like REST and UI integration are covered.
WildFly AppServer - State of the Union
as presented at SoftShake Geneva, Oct 2015
http://soft-shake.ch/2015/en/
Covering the whole WildFly v8/9/10 series and the key aspects of the base AS7 architecture.
Check out the talk to the slides:
http://bit.ly/1ReY8uJ
Talk Abstract:
Using Swarm, you can select “just enough app server” to support each of your microservices.
In this session, we’ll outline how WildFly Swarm works and get you started writing your first microservices using Java EE technologies you’re already familiar with.
You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.
WebLogic in Practice: SSL ConfigurationSimon Haslam
This presentation describes SSL certificate concepts and how to configure them within WebLogic. It was delivered by myself and Jacco Landlust (@oraclemva) at the UKOUG Tech13 conference.
Java EE 8 Web Frameworks: A Look at JSF vs MVCJosh Juneau
This session provides an overview of both the JSF and MVC 1.0 frameworks. The frameworks are then compared to each other. Finally, JSF 2.3 upcoming features are previewed.
Discover what are OWIN and Katana projects, and how Microsoft became able to release a family of modular components rather than a monolithic framework.
Check out the talk to the slides:
http://bit.ly/1ReY8uJ
Talk Abstract:
Using Swarm, you can select “just enough app server” to support each of your microservices.
In this session, we’ll outline how WildFly Swarm works and get you started writing your first microservices using Java EE technologies you’re already familiar with.
You’ll learn how to setup your build system (Maven, Gradle, or your IDE of choice) to run and test WildFly Swarm-based services and produce runnable jars. We will walk from the simple case of wrapping a normal WAR application to the more advanced case of configuring the container using your own main(…) method.
WebLogic in Practice: SSL ConfigurationSimon Haslam
This presentation describes SSL certificate concepts and how to configure them within WebLogic. It was delivered by myself and Jacco Landlust (@oraclemva) at the UKOUG Tech13 conference.
Java EE 8 Web Frameworks: A Look at JSF vs MVCJosh Juneau
This session provides an overview of both the JSF and MVC 1.0 frameworks. The frameworks are then compared to each other. Finally, JSF 2.3 upcoming features are previewed.
Discover what are OWIN and Katana projects, and how Microsoft became able to release a family of modular components rather than a monolithic framework.
Science for Change Agents, Innovators & Entrepreneurs. Day 2
Systems: Holism vs Reductionism
Linear vs. non-linear thinking
Events, symptoms and root causes
Mapping Systems
System Archetypes
Systemic Interventions and Trim Tabs
Disruptive & Systemic Innovation: Making Change Happen
People in Systems: Game Theory, Behaviorism, Social Psychology, Behavioural Economics / Biases & Heuristics
Motivations for Change Agents: Membership, Mastery, Meaning
MASTERCLASS FOR KAOS PILOTS, DENMARK
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
Roberto Chinnici, Java EE 6 spec lead, gives an overview of Java EE 6 for San Francisco Java User Group on August 10th, 2010.
http://www.sfjava.org/calendar/13940755/
Java EE 8 Overview (Sept 2015). A lot of work is already done by the Expert Groups so lets have a brief look for what we can expect in the some areas.
- Servlet 4 will embrace the new HTTP/2 protocol.
- JSON-B will bring the same high level features of JAXB to the JSON data format.
- Server-Sent Events(SSE) is the WebSocket variant where you only send data from the server to the client.
- MVC will be the Action based MVC complement of the Component based MVC of JSF.
- Some major restructuring of CDI so that we can use it standardised in Java SE to mention one thing.
The Java EE security API will be covered in more detail. Security related things became old and dusty and needs to move away from proprietary configuration to be able to make the transition to the cloud. An introduction to JSR 375 is given, which promotes self-contained application portability across Java EE servers, and promotes the use of modern programming concepts such as Expression Language, and CDI. It will holistically attempt to simplify, standardize, and modernize the Security API across the platform in areas identified by the community.
What’s new in Java SE, EE, ME, Embedded world & new StrategyMohamed Taman
In this presentation, I have presented the history of Java EE from v1.0 to our latest Java EE 7.0, what is new and a brief introduction to each minor and major change to existing JSRs, and new JSRs with code to show simplifications and enhancements.
Also talked about our future Java EE 8 components alongside JDK 8 with major updates and JSRs, profiling concepts and more.
In addition, I have explained the IoT concepts with demo. Intro to the importance of Java Embedded systems world. With intro to Raspberry Pi and dukePad.
Agenda:
http://egjug.org/page/java_ee_7_8_and_beyond
5. Web Profile
• First Java EE profile to be defined
• A fully-functional, mid-size stack for modern web
application development
• Complete, but not the kitchen sink
6. Java EE 6 Web Profile Contents
JSF 2.0
JSP 2.2 · EL 2.2 · JSTL 1.2 · JSR-45 1.0
Servlet 3.0
EJB 3.1 Lite · DI 1.0 · CDI 1.0 · Managed Beans 1.0
Bean Validation 1.0 · Interceptors 1.1 · JSR-250 1.1
JPA 2.0 · JTA 1.1
7. Pluggability/Extensibility
• Focus on the web tier in this release
• Create a level playing field for third-party frameworks
• Simplify packaging of web applications
8. Modular Web Applications
• Libraries can contain /META-INF/web-fragment.xml
• web.xml is optional
• @WebServlet, @WebFilter annotations
• ServletContainerInitializer interface
• Programmatic registration of components
• Resource jars containing /META-INF/resources
9. Sample Web Fragment Descriptor
<web-fragment
version=”3.0”
xmlns="http://java.sun.com/xml/ns/javaee">
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>WelcomeServlet</servlet-class>
</servlet>
<listener>
<listener-class>RequestListener</listener-class>
</listener>
</web-fragment>
10. JAX-RS 1.1
• RESTful web services API
• Already widely adopted
• Really a general, high-level HTTP API
• Annotation-based programming model
• Programmatic API when needed
12. Bean Validation 1.0
• Integrated with JSF, JPA
• Declarative constraints using annotations
@NotNull
@Size(max=40) String address;
• Fully extensible: define your own constraints
@Email String recipient;
• Validator API for programmatic validation
validator.validate(obj) → Set<ConstraintViolation>
13. EJB 3.1
• @Singleton beans
• @Startup beans
• @Asynchronous invocations
@Asynchronous public Future<Integer> compute();
• Define EJBs directly inside a web application
• EJBContainer API works on Java SE
14. Adding an EJB to a Web Application
Before Now
BuyBooks.war ShoppingCart ShoppingCart
EJB Class EJB Class
ShoppingCart.jar
BuyBooks.ear BuyBooks.war
15. Dependency Injection
• DI + CDI (JSR-330 + JSR-299)
• @Resource still around
@Resource DataSource myDB;
• Added @Inject annotation for typesafe injection
@Inject @LoggedIn User user;
• Automatic scope management (request, session, etc.)
• No configuration: beans discovered at startup
• Extensible via the BeanManager API
16. Dependency Injection Sample
@ApplicationScoped
public class CheckoutHandler {
@Inject
public CheckoutHandler(
@LoggedIn User user,
@Reliable @PayBy(CREDIT_CARD)
PaymentProcessor processor,
@Default ShoppingCart cart) {…}
}
Injection points identified by Qualifier + Type
@Default can be omitted
17. JSF 2.0
• Facelet as a standard view declaration language
• Composite components
• Automatic discovery of component libraries
• Programmatic and declarative Ajax support
• System events
• Validation out-of-the-box
18. Java EE 6 Platform
• More powerful
• More flexible
• More extensible
• Easier to use
http://java.sun.com/javaee
19.
20. What is GlassFish
• A Community
– Users, Partners, Testers, Developers
– Started in 2005 on http://java.net
• Application Server
– Enterprise Quality and Open Source (CDDL & GPL v2)
– Java EE 5 / 6 Reference Implementation
• Full Commercial Support from Oracle
– Not only a Reference Implementation
– Roadmap announced tomorrow regarding HA, Clustering...
21. GlassFish v3...
• The Java EE 6 spec, of course, and...
• Beyond the spec
– Fast, very fast, small, very small
– restart, btrace/dtrace, embedded, modularity, OSGi, RESTful
Admin,...
– Scripting: jRoR, Grails, and now Django
• Update Center: repository of new/updated bundles
• Tooling: Netbeans 6.8, IntelliJ,vi, and
– Eclipse 3.5, 3.6Mx
22. Modular and Dynamic
• Modular : OSGi: Equinox and Apache Felix
• But also Equinox or Static mode, thanks to HK2
– Yet very Fast !
• Painless Java EE 6 development
– Via the new/easier APIs
– Via better tools integration
– Ultra fast Auto-deploy of all Java EE and static artifacts
– Application runner
• java -jar glassfish.jar foo.war
23. Web Session Retention
• Deployment option to maintain stateful sessions across re-
deployments
– $ asadmin redeploy --properties keepSessions=true myapp.war
– Enabled by Default in Eclipse IDE
• For All sessions:
– Servlets, CDIs, Stateful EJBs,...
• Greatly simplifies the development paradigm
24. GlassFish and OSGi
• GlassFish runs on top of OSGi (Felix and Equinox)
– GlassFish ships with 200+ bundles
• Can use OSGi management tools (CLI or Web)
• Any OSGi bundle will run in GlassFish v3
– Drop it in domain1/autodeploy/bundles
– Can also asadmin deploy it using --type osgi
• Consume OSGi services via @Resource
@Resource (mappedName="MYPUREOSGISERVICE") HelloService myOSGiService;
• Web Application Bundle (WAB Support)
26. Integration with maven 2
• Java EE 6 APIs in Maven repository
– http://download.java.net/maven/2/javax/javaee-api/
– Stripped jars: very small <1Mb
– Not to be used for Testing
• GlassFish Embbeded can run via Maven
– mvn gf:run