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.
GlassFish architect Jerome Dochez presents the architecture (kernel, services, extensibility) and the status of GlassFish v3, a lightweight and modular application server based on OSGi and able to run both Java (EE) and scripting (Rails, Grails, PHP, etc...) applications. Fairly technical.
This presentation will take you on a journey to better understand this quiet, shy and unassuming member of the Oracle family and ask the question: Should you consider Glassfish for your Production environment?
Presented at AUSOUG Perth 2013 Conference by Andrew Rosson from Lansen.
In this presentation, we will discuss the benefits of hybrid applications and demonstrate how such applications can be built and deployed. A hybrid application is both an OSGi bundle as well as a Java EE application. GlassFish is a natural container of choice for such applications.
Get to know GlassFish Community, the differences between Oracle GlassFish Server, and also all the capabilities for Management, Administrative tasks, Monitoring, Tuning and Configuration for Production Environments of all your Java EE applications
The new GraalVM from Oracle supports multiple language including JavaScript, Python, Ruby, R, C++ as well as Java and other JVM languages. This opens up interesting possibilities for polygot enterprise applications. Now you can use a Node library in a Java application or call an R statistical function from an EJB. Previously, this type of integration was extremely challenging. This session will provide recipes to get up and running along with best practices and some cool demos.
Code: https://github.com/rcuprak/graalvm_jee
This presentation extract a as Preview from the JPassion.com e-learning web site give you an overview of the JEE platform and the novelty of the JEE 8 specifications
GlassFish architect Jerome Dochez presents the architecture (kernel, services, extensibility) and the status of GlassFish v3, a lightweight and modular application server based on OSGi and able to run both Java (EE) and scripting (Rails, Grails, PHP, etc...) applications. Fairly technical.
This presentation will take you on a journey to better understand this quiet, shy and unassuming member of the Oracle family and ask the question: Should you consider Glassfish for your Production environment?
Presented at AUSOUG Perth 2013 Conference by Andrew Rosson from Lansen.
In this presentation, we will discuss the benefits of hybrid applications and demonstrate how such applications can be built and deployed. A hybrid application is both an OSGi bundle as well as a Java EE application. GlassFish is a natural container of choice for such applications.
Get to know GlassFish Community, the differences between Oracle GlassFish Server, and also all the capabilities for Management, Administrative tasks, Monitoring, Tuning and Configuration for Production Environments of all your Java EE applications
The new GraalVM from Oracle supports multiple language including JavaScript, Python, Ruby, R, C++ as well as Java and other JVM languages. This opens up interesting possibilities for polygot enterprise applications. Now you can use a Node library in a Java application or call an R statistical function from an EJB. Previously, this type of integration was extremely challenging. This session will provide recipes to get up and running along with best practices and some cool demos.
Code: https://github.com/rcuprak/graalvm_jee
This presentation extract a as Preview from the JPassion.com e-learning web site give you an overview of the JEE platform and the novelty of the JEE 8 specifications
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
This session presents the GlassFish™ Tools Bundle for Eclipse, which can be used for creating Java EE 6 applications and configuring, deploying, and monitoring the GlassFish application server.
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 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.
Presentation of GlassFish v3 at JavaZone conference on September 9th 2009. Check this for demos: http://blogs.sun.com/alexismp/entry/glassfish_v3_at_javazone_slides
OSGi enRoute is an OSGi project to make OSGi as easy to use as some of non-java dynamic web development environments but still provide the benefits of OSGi's strong modularity. OSGi makes it easy to get started with OSGi by providing an integrated tool chain with several runtime environments, that uses OSGi as it always was intended to be used. By leveraging OSGi's powerful features like services and the powerful requirement/capability model, development of applications can be significantly simplified.
This presentation will provide an introduction to OSGi, the way it is used in enRoute, and then a demo of how to build an application with enRoute.
Bio:
Peter Kriens is an independent consultant since 1990.He currently works for the OSGi Alliance and Paremus. During the eighties he developed advanced distributed systems for newspapers based on microcomputers based on, at the time very novel, object oriented technologies. For this experience in Objects he was hired by a number of international companies, including Adobe, Intel, Ericsson, IBM, and many others. During his work at Ericsson Research in 1998 he got involved with the OSGi specification; Later he became the primary editor for these specifications. In 2005 he was awarded the OSGi Fellows title. After taking a sabbatical in 2012 to develop jpm4j he returned to the OSGi Alliance to help increasing adoption. He is Dutch but decided to live in France.
Personal snapshot of the JavaFX eco system in Germany at 25th of October 2017 to work with JavaFX 8 as JDK 8 Update 151 and developer preparation for JavaFX 9 with JDK 9.0.1
This is a presentation provides an overview of most important components of GlassFish portfolio.It focuses on Enterprise Server and the enterprise tools that come with it. Further it also explains (in short) Glassfish WebSpace server and Glassfish ESB
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Deploying Java EE 6 Apps in a Cluster: GlassFish 3.1 at Dallas Tech Fest 2011
1. GlassFish Server 3.1
Deploying your Java EE 6 Applications in Cluster
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
1
2. The following 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.
3. Java EE 6 and GlassFish Server 3
shipped final releases on
December 10th 2009
4. World's First Java EE 6 Compatible
App Server with
Clustering & High Availability
Shipped Feb 28th 2011
5. GlassFish Server Chronology*
2006 2007 2008 2009 2010 2011 …
GlassFish v1
Java EE 5, Single Instance
GlassFish v2
Java EE 5, High Availability
GlassFish Server 3
Java EE 6, Single Instance
GlassFish Server 3.1
Java EE 6, High Availability
GlassFish 3.1.1
JDK7 support
GlassFish.next
* GlassFish Server Open Source Edition Java EE 7
6. GlassFish Community
● Proven by developers
● Over 24 million downloads
● Over 22 million active users (cumulative in
past 4 yrs)
● 900K+ upgrades from GlassFish Server 3 to
3.1 in just 2 months
● Active user forums
● Sub-projects
– Jersey (JAX-RS), Metro (JAX-WS), Grizzly (nio),
Atmosphere, OpenMQ (JMS), and more
8. Deliverables
● Application Server
● Open Source and high-quality runtime
● Java EE 5 / 6 Reference Implementation, early
access to latest standards
● Clustering and High Availability
● Full Commercial Support from Oracle
● Continued Investment in Open Source
● Open Source license, governance, participation,
transparency, ...
10. GlassFish and WebLogic together
• Best open source application server with •Best commercial application server for
support from Oracle transactional Java EE applications
• Open source platform of choice for light- • Platform of choice for standardization
weight Web applications
Focus on lowest operational cost and
•
• Focus on latest Java EE standards and mission critical applications
community driven innovation
integration with Oracle Database, Fusion
•
• Certified interoperability with Fusion Middleware & Fusion Applications
Middleware
• Differentiated innovation, scout thread
Production Java Production Java
Application Deployment Application Deployment
GlassFish Server WebLogic Server
11. Painless Java EE development !
The save/reload paradigm
Auto-deploy of all Java EE and static
●
artifacts
12. Active Deployment
● Deployment option to maintain stateful
sessions across re-deployments
$ asadmin redeploy --properties
keepSessions=true myapp.war
● Greatly simplifies the
development paradigm
● Integrated in IDEs
13. Yes, Eclipse too !
OEPE : http://www.oracle.com/technetwork/developer-tools/eclipse
15. 3.1 Overview
● Built on GlassFish 3
● Modular and Extensible HK2 Kernel
● ~260+ modules
● Clustering and High Availability
● HTTP, EJB, IIOP, SSO, Metro
● Dynamic Invocation of Services
● End-to-end extensibility
16. Fast and Furious ...
● 29% better startup/deploy/re-deploy cycle
over 3.0.1
● 33% better HA performance over 2.1.1
● Scalable Grizzly Adapter based on Java NIO
● Full-session and Modified-attribute* scope
● Multiple Standalone instances and Clusters
per domain
http://weblogs.java.net/blog/sdo/archive/2011/03/01/whats-new-glassfish-v31-performance
17. Modular and Dynamic
● Modular : Apache Felix (OSGi)
● Extensible : HK2
● Yet very Fast !
18.
19. More Painless Development
● Fast auto-deploy of all Java EE and static artifacts
● Application runner
● java -jar glassfish.jar toto.war
● Maven integration
● mvn gf:run, gf:start, gf:deploy,
...
● Containers added dynamically and transparently
● Excellent Tools support
20. Embedded uses
● Testing
● EJBContainer API (EJB 3.1)
● Simple testing using Java SE (JUnit, Maven, ...)
using EJB container
● Packaging / Bundling
● Beyond the specification: control all of GlassFish
Server with an API = GlassFish Embedded
● Integration testing & ship the server inside the
app
21. What's the deal with OSGi?
● GlassFish Server runs on top of OSGi (Felix)
● Also runs unmodified on Equinox (and Knopflerfish)
● GlassFish ships as 260+ bundles
● Can run without OSGi (Static mode)
● Can use OSGi management tools (CLI or Web)
● Can be installed on top of existing OSGi runtime
● Any OSGi bundle will run in GlassFish Server
● Drop it in glassfish/modules{/autostart}
● Can also asadmin deploy it using --type osgi
● GlassFish OSGi admin console
22. Extending GlassFish
OSGi-style – an example, a demo and a picture
● OSGi declarative service
● Service-Component entry
in the JAR Manifest
● Invoke the service from a
servlet using standard
@Resource injection
● Never use a GlassFish API !
● No need to chose between
OSGi and
Java EE
Step by step: http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4
24. Monitoring and Management
Beyond web console and asadmin
● Dynamic and non-intrusive monitoring
● BTrace integration
– Portable, dynamic and safe tracing tool for Java
– Btrace annotations and API to write scripts
● Java-defined Probe Providers
● RESTful interface
● DTrace for end-to-end
● JavaScript Monitoring tool (add-on)
● Still exposed via JMX
● jconsole and visualvm as natural clients
25. RESTful Administration
● Jersey + Grizzly to provide REST interfaces
● Configure runtime (via GET, POST, DELETE)
● Invoke commands (restart, stop, deploy, etc..)
● Monitoring (GET only)
● Available from
● http://localhost:4848/management/domain
● http://localhost:4848/monitoring/domain
● Use REST clients as Admin GUI substitute
● Use your favorite glue/scripting language or tool
● Data offered as either XML, HTML or JSON
● Extensible
26. More GlassFish Server 3.x
● Developer performance
● Embedded API
● RESTful API
● Update Center
● Metro 2.0
● OpenMQ 4.x
● Admin console
● Btrace monitoring
● ...
28. Customers Around the Globe
Depend on WebLogic
In government…
On the phone …
In the wallet …
With health …
In education and
research …
In travel &
transport …
29. GlassFish Server 3.1
Developer Highlights
● Developer Productivity
–Improved embedded API support
–Updated NetBeans and Eclipse plugin
● Updated Technologies
–Grizzly WebSocket support
–Improved CDI, JSON, hypermedia support in Jersey
–Technology refresh – JSF, CDI, Grizzly, OSGi, JPA,
Jersey, Bean Validation, Metro, UC, etc.
–Implementation of various Enterprise OSGi Specs
30. GlassFish Server 3.1
Clustering Highlights
● HTTP, EJB, IIOP, SSO, Metro
–New - RM Sequence, Secure Conversations
● Session-based replication using Shoal
–Distributes session state uniformly & consistently among instances
●Shoal OSGi module, loaded when HA-
enabled apps are deployed
●Support for conventional clustering of MQs
brokers in embedded mode
31. GlassFish Server 3.1
Manageability Highlights
●SSH based remote management and
provisioning
●Application versioning support
●Application scoped resources
●Statement leak detection and reclaim
●Improved monitoring
●Console based on RESTful API
33. GlassFish Server 3.1.1
● Runs on JDK 7
● Extensive platform support
● AIX 6.1/7.1, Solaris 11 Express Edition
● Better performance with 64-bit LB plug-in
● Performance and Stability enhancements
● Weld, Bean Validation, Jersey, …
● Support for OSGi/Java EE Hybrid Apps
● Improved fidelity for GlassFish Embedded
34. String in switch – Before JDK 7
@Path("fruits")
public class FruitResource {
@GET
@Produces("application/json")
@Path("{name}")
public String getJson(@PathParam("name")String name) {
if (name.equals("apple") || name.equals("cherry") || name.equals("strawberry"))
return "Red";
else if (name.equals("banana") || name.equals("papaya"))
return "Yellow";
else if (name.equals("kiwi") || name.equals("grapes") || name.equals("guava"))
return "Green";
else if (name.equals("clementine") || name.equals("persimmon"))
return "Orange";
else
return "Unknown";
}
...
35. String in switch – After JDK 7
@Path("fruits")
public class FruitResource {
@GET
@Produces("application/json")
@Path("{name}")
public String getJson(@PathParam("name")String name) {
switch (name) {
case "apple": case "cherry": case "strawberry":
return "Red";
case "banana": case "papaya":
return "Yellow";
case "kiwi": case "grapes": case "guava":
return "Green";
case "clementine": case "persimmon":
return "Orange";
default:
return "Unknown";
}
}
... http://blogs.oracle.com/arungupta/entry/totd_168_string_switch_statement
36. Automatic Resource
Management – Before JDK 7
@Resource(name=“jdbc/__default”)
DataSource ds;
@javax.annotation.PostConstruct
void startup() {
Connection c = null;
Statement s = null;
try {
c = ds.getConnection();
s = c.createStatement();
// invoke SQL here
} catch (SQLException ex) {
System.err.println("ouch!");
} finally {
try {
if (s != null)
s.close();
if (c != null)
c.close();
} catch (SQLException ex) {
System.err.println("ouch!");;
}
}
}
37. Automatic Resource
Management – After JDK 7
@Resource(name=“jdbc/__default”)
DataSource ds;
@javax.annotation.PostConstruct
void startup() {
try (Connection c = ds.getConnection(); Statement s = c.createStatement()) {
// invoke SQL here
} catch (SQLException ex) {
System.err.println("ouch!");
}
}
http://blogs.oracle.com/arungupta/entry/totd_167_automatic_resource_management
38. Multi-catch – Before JDK 7
protected void doPost(HttpServletRequest request, HttpServletResponse response){
PrintWriter out = null;
try {
response.setContentType("text/html;charset=UTF-8");
out = response.getWriter();
out.println("<html><head><title>Servlet TestServlet</title></head>");
out.println("<body>");
out.println("<h1>Sending email from " + request.getContextPath () + "</h1>");
for (Part p : request.getParts()) {
// save the parts locally
System.out.println(p.getName() + " saved");
}
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
message.setRecipients(Message.RecipientType.TO, address);
message.setSubject("File upload successful.");
message.setSentDate(new Date());
message.setText("File has been successfully saved.");
Transport.send(message);
out.println("</body>");
out.println("</html>");
} catch (ServletException ex) {
Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
} catch (MessagingException ex) {
Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);
} finally {
out.close();
}
40. GlassFish Server Control
Monitoring
DAS Backup & Recovery Performance Tuner Scripting Client
Coherence Active Cache Oracle Access Load Balancer
Manager Integration Plugin & Installer
41. Strategy for continued success
● Continue to deliver outstanding performance
● Continue to improve developer productivity
● Continue product execution
● Deliver Java EE 7 first
● Deliver on product roadmap
● Continue to innovate
● Improve manageability
● Hybrid OSGi / Java EE applications
42. Why Attend JavaOne
Because Duke says:
• “Find out what's new with Java Technology.”
• “Hear from and network with visionary speakers and
recognized community luminaries.”
• “Get in-depth technical content and hands-on learning
opportunities that cover today's most important Java
development topics.” (400+ sessions/BoFs/HOLs)
• “Walk away with improved working knowledge and
coding expertise you can apply immediately to your
own projects and initiatives.”
http://oracle.com/javaone
44. GlassFish Server 3.1
Deploying your Java EE 6 Applications in Cluster
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
44