Apache TomEE is a Java EE 6 Web Profile certified stack that runs on Tomcat. It combines Tomcat with other Apache components like OpenJPA, OpenWebBeans, OpenEJB, MyFaces, BeanVal, CXF and ActiveMQ. TomEE comes in different flavors - the Web Profile version is certified, while TomEE Plus includes additional specs like JAX-WS and JMS but is not certified. TomEE aims to be small, certified and integrated with Tomcat. It provides a full Java EE 6 experience on Tomcat through tight integration of the various Apache projects.
2011 JavaOne Apache TomEE Java EE 6 Web ProfileDavid Blevins
Apache TomEE is a Java EE 6 Web Profile certified application server built on top of Tomcat. It includes Apache components like MyFaces, OpenWebBeans, OpenEJB, OpenJPA, and Bean Validation. The entire Web Profile is only 24MB in size and has a small memory footprint. It aims to prove that a certified Java EE stack can be lightweight and agile. Future goals include further optimizations to reduce size and improve performance.
Selecting and deploying automated optimization solutionsPatrick Meenan
This document discusses various methods for automating front-end optimization. It describes how HTML rewriting solutions can optimize HTML through proxies or in-app plugins. It also discusses when certain optimizations are best done by machines versus humans. The document outlines different architectures for front-end optimization solutions, including cloud-based and on-premises options, and considers when each is most appropriate. It emphasizes the importance of testing solutions before deploying and of monitoring performance after deployment.
Quick start website manually installing word press pdfviet nghiem
This document provides a 15-step process for manually installing WordPress on a web server. It involves downloading and extracting the WordPress files, creating a database and user credentials, editing the wp-config.php file with the correct database details, uploading the files via FTP, and running the installation script. Key steps include setting up the database and user in cPanel, editing wp-config.php with the database name, username, password and other security codes, using an FTP client like FileZilla to upload the files to the server, and completing the installation process by visiting the URL.
The document discusses Maven, an open source build automation tool used primarily for Java projects. It provides advantages over Ant such as standardized directory structure, built-in tasks like compile and test, and dependency management through repositories. The core configuration file is the POM (Project Object Model) which describes project metadata. Maven uses a central repository to download necessary JAR dependencies. It supports tasks like compiling, testing, packaging and provides internationalization.
Installing PHP and MySQL locally using XAMPP: If you haven’t worked with PHP and MySQL before using Perch, this tutorial will help you to set up a development environment to easily work with Perch on your own computer.
This document provides an overview of Apache ANT, an open source build tool. It discusses the need for build tools in automating repetitive development tasks like compiling code. Apache ANT was created by the original author of Tomcat as a solution to problems with Apache Make. It uses XML configuration files and has predefined tasks for common operations. The document outlines how to install and set up the Apache ANT environment, including creating build files, defining properties, and integrating with Eclipse and JUnit.
The document discusses a tool called TLB (Test Load Balancer) that aims to speed up software builds by parallelizing test execution across multiple machines. It notes that a major part of build time is spent running tests, and that common solutions like splitting code into modules or manually partitioning tests are suboptimal. TLB aims to automatically partition tests into mutually exclusive sets and distribute them efficiently across a grid of machines to run tests in parallel, significantly reducing build times. This allows developers to integrate changes more frequently and get faster feedback from their builds.
This document provides an overview of Representational State Transfer (REST). It defines REST as an architectural style where resources are accessed via URIs, manipulated through a uniform set of operations, and responses are self-descriptive. Key characteristics of REST like statelessness, cacheability and using HTTP methods like GET, PUT and DELETE are explained. The document contrasts REST to remote procedure calls and discusses RESTful principles like HATEOAS and use of meaningful resource identifiers and HTTP status codes.
2011 JavaOne Apache TomEE Java EE 6 Web ProfileDavid Blevins
Apache TomEE is a Java EE 6 Web Profile certified application server built on top of Tomcat. It includes Apache components like MyFaces, OpenWebBeans, OpenEJB, OpenJPA, and Bean Validation. The entire Web Profile is only 24MB in size and has a small memory footprint. It aims to prove that a certified Java EE stack can be lightweight and agile. Future goals include further optimizations to reduce size and improve performance.
Selecting and deploying automated optimization solutionsPatrick Meenan
This document discusses various methods for automating front-end optimization. It describes how HTML rewriting solutions can optimize HTML through proxies or in-app plugins. It also discusses when certain optimizations are best done by machines versus humans. The document outlines different architectures for front-end optimization solutions, including cloud-based and on-premises options, and considers when each is most appropriate. It emphasizes the importance of testing solutions before deploying and of monitoring performance after deployment.
Quick start website manually installing word press pdfviet nghiem
This document provides a 15-step process for manually installing WordPress on a web server. It involves downloading and extracting the WordPress files, creating a database and user credentials, editing the wp-config.php file with the correct database details, uploading the files via FTP, and running the installation script. Key steps include setting up the database and user in cPanel, editing wp-config.php with the database name, username, password and other security codes, using an FTP client like FileZilla to upload the files to the server, and completing the installation process by visiting the URL.
The document discusses Maven, an open source build automation tool used primarily for Java projects. It provides advantages over Ant such as standardized directory structure, built-in tasks like compile and test, and dependency management through repositories. The core configuration file is the POM (Project Object Model) which describes project metadata. Maven uses a central repository to download necessary JAR dependencies. It supports tasks like compiling, testing, packaging and provides internationalization.
Installing PHP and MySQL locally using XAMPP: If you haven’t worked with PHP and MySQL before using Perch, this tutorial will help you to set up a development environment to easily work with Perch on your own computer.
This document provides an overview of Apache ANT, an open source build tool. It discusses the need for build tools in automating repetitive development tasks like compiling code. Apache ANT was created by the original author of Tomcat as a solution to problems with Apache Make. It uses XML configuration files and has predefined tasks for common operations. The document outlines how to install and set up the Apache ANT environment, including creating build files, defining properties, and integrating with Eclipse and JUnit.
The document discusses a tool called TLB (Test Load Balancer) that aims to speed up software builds by parallelizing test execution across multiple machines. It notes that a major part of build time is spent running tests, and that common solutions like splitting code into modules or manually partitioning tests are suboptimal. TLB aims to automatically partition tests into mutually exclusive sets and distribute them efficiently across a grid of machines to run tests in parallel, significantly reducing build times. This allows developers to integrate changes more frequently and get faster feedback from their builds.
This document provides an overview of Representational State Transfer (REST). It defines REST as an architectural style where resources are accessed via URIs, manipulated through a uniform set of operations, and responses are self-descriptive. Key characteristics of REST like statelessness, cacheability and using HTTP methods like GET, PUT and DELETE are explained. The document contrasts REST to remote procedure calls and discusses RESTful principles like HATEOAS and use of meaningful resource identifiers and HTTP status codes.
This document provides an overview of the Java programming language. It discusses Java's history beginning as a language for consumer electronics and its adoption as a web programming language. The document outlines Java's features such as being object-oriented, portable, robust, secure, and having a large standard library. It provides examples of using Java for web applets, database access, distributed applications, and graphics. It also compares Java's performance to C++ and discusses how to get started with Java development.
Find Site Performance from the server to WordPress. A look at how some good performance gains can be made in tuning MySQL and APC and getting the most of out W3 Total Cache.
This document provides an overview of several key concepts for using Maven including:
- Default goals that can be set at the project level to save typing common commands like "mvn install".
- The super POM that all Maven projects inherit from to specify common configuration defaults.
- Archetypes that allow creating standard project templates with predefined directory structures and files.
- Dependency and plugin management sections that allow declaring common dependency and plugin versions to minimize repetitive declarations.
Scaling the Britain's Got Talent BuzzerMalcolm Box
This document summarizes the technical challenges and solutions for powering the buzzer system for Britain's Got Talent, which needed to handle 10,000 buzzes per second during live shows. It describes testing the system using Tsung, adding an Elastic Load Balancer and HAProxy for scaling, using Memcached and Cassandra to avoid overloading the database, and automating configuration of 100+ servers with Chef. The system ended with a scalable architecture using load balancers, Memcached, Cassandra, and Chef configuration to meet the performance needs for the live talent show.
The document discusses using Apache Camel and Apache ActiveMQ as standalone applications to integrate systems without coding. It describes how Camel routes can connect different components representing real-world events and side effects. Configuration of Camel routes through XML files allows connecting these components to quickly solve integration problems without programming. The document provides an example of monitoring a service using a Camel route configured to check the service health every 30 seconds, alert Slack if it is down, and increment a CloudWatch metric.
Roy foubister (hosting high traffic sites on a tight budget)WordCamp Cape Town
The document discusses optimizing a server to handle high traffic loads on a tight budget. It describes how the default LAMP stack configuration is not adequate and leads to crashes under load. It then details several optimizations tried: increasing Apache and MySQL configuration limits, using Apache worker mode, adding OPcache and object caching with W3 Total Cache which improved performance by 500%. It also recommends splitting static and dynamic content using Nginx to further reduce load on Apache. With these optimizations, a single server could reliably handle the load.
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages HeavenPaul Withers
The document summarizes Dante's nine circles of hell from his Divine Comedy and relates them to different aspects of developing XPages applications. It discusses how the first circle of Limbo relates to hybrid XPage/Domino applications, how the second circle of Lust relates to focusing on user interface and experience, and how the third circle of Gluttony relates to managing server resources and page loading. It provides examples and demonstrations for each circle. The document concludes by listing additional sessions at the conference related to XPages development, Java, and IBM collaboration tools.
This document provides information and instructions for installing and using the Phalcon PHP framework. Some key points:
- Phalcon is a full-stack PHP framework written as a C-extension for high performance. It offers MVC patterns and components that can be used individually.
- Installation involves compiling the C extension from source or downloading pre-compiled binaries. Configuration requires adding the extension to php.ini and restarting the web server.
- Example project structure and basic controller/view implementation are shown. Models interact with databases using the ORM. Routing and dependency injection are also demonstrated.
This is an adaptation of the presentation given at the SpringOne 2008 conference in Hollywood, FL. It contains some updates on project status, and also information about the recently published book "Spring Python 1.1"
This slideshow is licensed under a Creative Commons Attribution 3.0 United States License.
This document provides an overview and agenda for a presentation on Java EE 6 and GlassFish v3. Key points include:
- Java EE 6 and GlassFish v3 were final releases in December 2009.
- The presentation will provide an overview of the new Java EE 6 specifications and demos of JPA 2.0, Servlet 3.0, EJB 3.1, JSF 2.0, and more.
- The speakers are experts on Java EE and GlassFish with experience at Sun Microsystems and as authors and conference speakers.
- The agenda includes deep dives on the major Java EE 6 specifications and building a sample web application using many of the new features.
This document discusses how to test enterprise Java applications. It recommends that unit tests cover 80% of code to test small pieces of code and give confidence to make changes. Integration tests cover 15% of code to test collaboration between components like databases and servers. Acceptance tests cover the remaining 5% by testing customer requirements through concrete examples and user stories. The document provides examples of testing frameworks for different layers, including JS TestDriver and Sinon.js for client-side tests, JUnit and Mockito for server-side tests, and DBUnit and Arquillian for persistence tests. It emphasizes the importance of continuous integration to run tests automatically and ensure quality.
This document provides an introduction to Groovy and Grails. It discusses how Groovy is an agile and dynamic language for the Java Virtual Machine that builds on Java's strengths with features from languages like Smalltalk, Python and Ruby. Groovy code seamlessly integrates with Java code and objects. The document demonstrates differences between Java, Groovy and Ruby code. It also covers Groovy features like GStrings, closures, meta-programming and builders. Finally, it mentions Grails, a web framework that uses Groovy.
Lessons learned: Use of Modern JVM Languages besides Java - JavaOne 2012Kai Wähner
This document discusses the use of modern programming languages that run on the Java Virtual Machine (JVM) besides Java. It notes that Java is still the most important programming platform, but is not the only option. Modern JVM languages can provide added value through reduced code, increased flexibility via features like modularity, scripting and meta-programming, and improved build tools. The document examines these benefits and provides examples of how different languages implement various techniques.
The document discusses concepts related to continuous delivery and deployment pipelines. It advocates building quality into software through automated testing and collaboration between developers, testers and operations teams. Continuous delivery aims to make software production-ready at any time by implementing configuration management, continuous integration, and automated testing in a deployment pipeline that provides feedback at every change. This reduces risk and enables frequent, reliable releases that are tied to business needs rather than operational constraints.
From Tomcat to Java EE, making the transition with TomEEjaxconf
This document discusses Apache TomEE, which combines Apache Tomcat with Java EE functionality. It provides Java EE 6 certification and integrates components like OpenJPA, OpenWebBeans, and MyFaces. TomEE comes in multiple flavors, including a web profile version and one that adds features like JAX-RS and JAX-WS. It is small in size, has low memory usage, and is agile. The document discusses gaps in the Tomcat server that TomEE addresses, common migration issues, and how to properly use managed resources and transactions in TomEE.
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamAndreas Grabner
As a Tester you need to level up. You can do more than functional verification or reporting Response Time
In my Performance Clinic Workshops I show you real life exampls on why Applications fail and what you can do to find these problems when you are testing these applications.
I am using Free Tools for all of these excercises - especially Dynatrace which gives full End-to-End Visibility (Browser to Database). You can test and download Dynatrace for Free @ http://bit.ly/atd2014challenge
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJAX London
2011-11-01 | 04:20 PM - 05:10 PM
This session explores Apache TomEE, pronounced “Tommy”, an all-Apache Web Profile stack built on Tomcat, which adds all the Java EE Web Profile features, while taking nothing away. The session will show you how to get started with TomEE, how to use it with a sample application, and how you can test your application with TomEE using tools like Arquillian.
The venerable Servlet Container still has some performance tricks up its sleeve - this talk will demonstrate Apache Tomcat's stability under high load, describe some do's (and some don'ts!), explain how to performance test a Servlet-based application, troubleshoot and tune the container and your application and compare the performance characteristics of the different Tomcat connectors. The presenters will share their combined experience supporting real Tomcat applications for over 20 years and show how a few small changes can make a big, big difference.
This document provides an overview of the Java programming language. It discusses Java's history beginning as a language for consumer electronics and its adoption as a web programming language. The document outlines Java's features such as being object-oriented, portable, robust, secure, and having a large standard library. It provides examples of using Java for web applets, database access, distributed applications, and graphics. It also compares Java's performance to C++ and discusses how to get started with Java development.
Find Site Performance from the server to WordPress. A look at how some good performance gains can be made in tuning MySQL and APC and getting the most of out W3 Total Cache.
This document provides an overview of several key concepts for using Maven including:
- Default goals that can be set at the project level to save typing common commands like "mvn install".
- The super POM that all Maven projects inherit from to specify common configuration defaults.
- Archetypes that allow creating standard project templates with predefined directory structures and files.
- Dependency and plugin management sections that allow declaring common dependency and plugin versions to minimize repetitive declarations.
Scaling the Britain's Got Talent BuzzerMalcolm Box
This document summarizes the technical challenges and solutions for powering the buzzer system for Britain's Got Talent, which needed to handle 10,000 buzzes per second during live shows. It describes testing the system using Tsung, adding an Elastic Load Balancer and HAProxy for scaling, using Memcached and Cassandra to avoid overloading the database, and automating configuration of 100+ servers with Chef. The system ended with a scalable architecture using load balancers, Memcached, Cassandra, and Chef configuration to meet the performance needs for the live talent show.
The document discusses using Apache Camel and Apache ActiveMQ as standalone applications to integrate systems without coding. It describes how Camel routes can connect different components representing real-world events and side effects. Configuration of Camel routes through XML files allows connecting these components to quickly solve integration problems without programming. The document provides an example of monitoring a service using a Camel route configured to check the service health every 30 seconds, alert Slack if it is down, and increment a CloudWatch metric.
Roy foubister (hosting high traffic sites on a tight budget)WordCamp Cape Town
The document discusses optimizing a server to handle high traffic loads on a tight budget. It describes how the default LAMP stack configuration is not adequate and leads to crashes under load. It then details several optimizations tried: increasing Apache and MySQL configuration limits, using Apache worker mode, adding OPcache and object caching with W3 Total Cache which improved performance by 500%. It also recommends splitting static and dynamic content using Nginx to further reduce load on Apache. With these optimizations, a single server could reliably handle the load.
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages HeavenPaul Withers
The document summarizes Dante's nine circles of hell from his Divine Comedy and relates them to different aspects of developing XPages applications. It discusses how the first circle of Limbo relates to hybrid XPage/Domino applications, how the second circle of Lust relates to focusing on user interface and experience, and how the third circle of Gluttony relates to managing server resources and page loading. It provides examples and demonstrations for each circle. The document concludes by listing additional sessions at the conference related to XPages development, Java, and IBM collaboration tools.
This document provides information and instructions for installing and using the Phalcon PHP framework. Some key points:
- Phalcon is a full-stack PHP framework written as a C-extension for high performance. It offers MVC patterns and components that can be used individually.
- Installation involves compiling the C extension from source or downloading pre-compiled binaries. Configuration requires adding the extension to php.ini and restarting the web server.
- Example project structure and basic controller/view implementation are shown. Models interact with databases using the ORM. Routing and dependency injection are also demonstrated.
This is an adaptation of the presentation given at the SpringOne 2008 conference in Hollywood, FL. It contains some updates on project status, and also information about the recently published book "Spring Python 1.1"
This slideshow is licensed under a Creative Commons Attribution 3.0 United States License.
This document provides an overview and agenda for a presentation on Java EE 6 and GlassFish v3. Key points include:
- Java EE 6 and GlassFish v3 were final releases in December 2009.
- The presentation will provide an overview of the new Java EE 6 specifications and demos of JPA 2.0, Servlet 3.0, EJB 3.1, JSF 2.0, and more.
- The speakers are experts on Java EE and GlassFish with experience at Sun Microsystems and as authors and conference speakers.
- The agenda includes deep dives on the major Java EE 6 specifications and building a sample web application using many of the new features.
This document discusses how to test enterprise Java applications. It recommends that unit tests cover 80% of code to test small pieces of code and give confidence to make changes. Integration tests cover 15% of code to test collaboration between components like databases and servers. Acceptance tests cover the remaining 5% by testing customer requirements through concrete examples and user stories. The document provides examples of testing frameworks for different layers, including JS TestDriver and Sinon.js for client-side tests, JUnit and Mockito for server-side tests, and DBUnit and Arquillian for persistence tests. It emphasizes the importance of continuous integration to run tests automatically and ensure quality.
This document provides an introduction to Groovy and Grails. It discusses how Groovy is an agile and dynamic language for the Java Virtual Machine that builds on Java's strengths with features from languages like Smalltalk, Python and Ruby. Groovy code seamlessly integrates with Java code and objects. The document demonstrates differences between Java, Groovy and Ruby code. It also covers Groovy features like GStrings, closures, meta-programming and builders. Finally, it mentions Grails, a web framework that uses Groovy.
Lessons learned: Use of Modern JVM Languages besides Java - JavaOne 2012Kai Wähner
This document discusses the use of modern programming languages that run on the Java Virtual Machine (JVM) besides Java. It notes that Java is still the most important programming platform, but is not the only option. Modern JVM languages can provide added value through reduced code, increased flexibility via features like modularity, scripting and meta-programming, and improved build tools. The document examines these benefits and provides examples of how different languages implement various techniques.
The document discusses concepts related to continuous delivery and deployment pipelines. It advocates building quality into software through automated testing and collaboration between developers, testers and operations teams. Continuous delivery aims to make software production-ready at any time by implementing configuration management, continuous integration, and automated testing in a deployment pipeline that provides feedback at every change. This reduces risk and enables frequent, reliable releases that are tied to business needs rather than operational constraints.
From Tomcat to Java EE, making the transition with TomEEjaxconf
This document discusses Apache TomEE, which combines Apache Tomcat with Java EE functionality. It provides Java EE 6 certification and integrates components like OpenJPA, OpenWebBeans, and MyFaces. TomEE comes in multiple flavors, including a web profile version and one that adds features like JAX-RS and JAX-WS. It is small in size, has low memory usage, and is agile. The document discusses gaps in the Tomcat server that TomEE addresses, common migration issues, and how to properly use managed resources and transactions in TomEE.
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamAndreas Grabner
As a Tester you need to level up. You can do more than functional verification or reporting Response Time
In my Performance Clinic Workshops I show you real life exampls on why Applications fail and what you can do to find these problems when you are testing these applications.
I am using Free Tools for all of these excercises - especially Dynatrace which gives full End-to-End Visibility (Browser to Database). You can test and download Dynatrace for Free @ http://bit.ly/atd2014challenge
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJAX London
2011-11-01 | 04:20 PM - 05:10 PM
This session explores Apache TomEE, pronounced “Tommy”, an all-Apache Web Profile stack built on Tomcat, which adds all the Java EE Web Profile features, while taking nothing away. The session will show you how to get started with TomEE, how to use it with a sample application, and how you can test your application with TomEE using tools like Arquillian.
The venerable Servlet Container still has some performance tricks up its sleeve - this talk will demonstrate Apache Tomcat's stability under high load, describe some do's (and some don'ts!), explain how to performance test a Servlet-based application, troubleshoot and tune the container and your application and compare the performance characteristics of the different Tomcat connectors. The presenters will share their combined experience supporting real Tomcat applications for over 20 years and show how a few small changes can make a big, big difference.
The document discusses JRuby on Google App Engine, including key features of App Engine, quotas and billing, limitations, the current issues with JRuby on App Engine, App Engine gems, the development environment, deployment process, APIs, and milestones in the development of JRuby on App Engine. It also includes a short biography and discussion of learning experiences from building an iPhone app that uses App Engine and JRuby as a backend.
This document discusses web applications and their structure. It begins by defining what a web application is - a single directory or file that bundles together related files like servlets, JSP pages, HTML files, and configuration files. It then discusses the standard structure of web applications, including where different file types like Java code, web content, and configuration files are typically located. The document provides an example of a typical deployment structure.
This document discusses web applications and their structure. It begins by defining what a web application is - a single directory or file that bundles together servlets, JSP pages, HTML files, classes and other files. It then discusses the standard structure of web applications, including where different file types like JSP pages, classes and the deployment descriptor web.xml are located. The document provides an example of a typical deployment structure.
This document introduces Apache TomEE, which is Apache Tomcat combined with Java EE functionality. It discusses TomEE's core values of being small, being based on Tomcat, and being Java EE certified. It also summarizes the minimal changes required to standard Tomcat to create TomEE and notes that TomEE works with common Tomcat tools.
This document provides lessons learned from a presentation on Ruby on Rails development. It discusses using Ruby Enterprise Edition for faster tests. It recommends using factories over fixtures for test data and advocates writing more integration tests than unit tests. It also covers improving security with the rails_xss plugin, using MessageVerifier for authentication, and asynchronous job processing with Delayed Job. Methods for scaling file uploads using mod_porter and pagination without offsets are presented. The document aims to help Ruby web developers with performance, security, background processing, and scaling.
Ab(Using) the MetaCPAN API for Fun and Profit v2013Olaf Alders
This talk builds on the previous Ab(Using) the MetaCPAN API talk from 2012. There are links to comprehensive examples and there is a more in-depth look at the available endpoints.
This document provides an overview of the best tools for penetration testing web applications. It discusses Nikto for server enumeration and vulnerability scanning, Webscarab for intercepting requests and modifying parameters, w3af as an open source web application exploitation framework, and Firefox with extensions like Firebug and YSlow for manual testing. Commercial tools like Core Impact and Cenzic Hailstorm are also highlighted for their methodologies and capabilities. Additional resources like Samurai Linux are mentioned as a ready-to-go penetration testing environment with pre-installed web assessment tools.
This document discusses using test-driven development (TDD) with the JavaScript testing framework Jasmine. It recommends TDD as a better tool than debugging for writing tests first to verify code and refactoring. The document provides an example of using TDD to develop a file uploader for Amazon S3, starting with tests for uploading from file names and buffers, then refactoring the code into separate classes and modules as the tests drive the design. It emphasizes letting the architecture emerge through prototyping and TDD rather than predetermining the design.
An OpenEJB presentation on "Apache TomEE"
TomEE aims to provide a fully certified Java EE 6 Web profile stack based on Tomcat, allowing you to use Java EE features in your lightweight Tomcat applications.
A stack that's assembled and maintained by the Apache OpenEJB project
This document provides an overview of servlets and JavaServer Pages (JSP) technology. It discusses what servlets and JSP are, how they are used to dynamically generate web pages, and their advantages over traditional CGI. It also provides information on installing Tomcat and Eclipse, deploying and running web applications from Eclipse, and creating new web applications in Eclipse.
Testing is the first line of defense when debugging Rails applications. The log files and stack traces provide clues, and gems like better_errors and pry make debugging more powerful. When a defect is found, reproduce it with a test case then use a methodical divide-and-conquer approach, examining the logs, changing one thing at a time, and re-evaluating periodically until the problem is solved.
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on TomcatDavid Blevins
Having made its Java EE 6 Web Profile certification debut at JavaOne 2011 and having won a JavaOne Rock Star award in 2012, Apache TomEE combines the simplicity of Tomcat with the power of Java EE. This updated presentation traverses the world of TomEE and shows how Tomcat applications leveraging Java EE technologies can become simpler and lighter with a Java EE–certified solution built right on Tomcat. The first part jumps right into action and gives a coding tour of TomEE, including quickly bootstrapping projects, doing proper testing with Arquillian, and setting up environments. The second part gives insight into how TomEE was created and explores the budding TomEE ecosystem of tools, platforms, and the latest community advancements.
Ähnlich wie Apache TomEE, Java EE 6 Web Profile on Tomcat - David Blevins (20)
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!
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.
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.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
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
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
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.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
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
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
2. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
What is Apache TomEE?
Tuesday, June 4, 13
3. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tomcat + JavaEE = TomEE
• Java EE 6 Web Profile certified stack, pronounced “Tommy”
• Tomcat
• All Apache components
- OpenJPA
- OpenWebBeans
- OpenEJB
- MyFaces
- BeanVal
- CXF & ActiveMQ
• CoreValues
- Be Small
- Be Certified
- Be Tomcat
Tuesday, June 4, 13
4. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
What is a
“Web Profile”?
Tuesday, June 4, 13
5. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
The Web Profile
• Introduced in Java EE 6
• About half the specs as the Full Profile
- 12~ in the Web Profile
- 24~ in the Full Profile
• Legacy-free, contains no
- CMP EntityBeans
- CORBA
- JAX-RPC
• Missing some good stuff
- JAX-RS
- JAX-WS
- JMS
- Connectors (surprisingly useful)
Tuesday, June 4, 13
6. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Flavors of TomEE
• Apache TomEE Web Profile (Java EE 6 Certified)
- JPA
- CDI
- EJB
- JSF
- BeanValidation
- JavaMail *
• Apache TomEE JAX-RS (Java EE 6 Certified) *NEW*
- JAX-RS
• Apache TomEE Plus (NOT Java EE 6 Certified)
- JAX-WS
- Connector
- JMS
Tuesday, June 4, 13
7. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Demo
Tuesday, June 4, 13
8. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
The Birth of TomEE
Tuesday, June 4, 13
9. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Milestones
• October 2011 - JavaOne
- 1.0 beta release
- JavaEE 6 Web Profile Certified
• April 2012
- 1.0 final release <fast, fast, fast>
• October 2012 - JavaOne
- 1.5 release <filling gaps>
• April 2013
- 1.5.2 release <maturity>
Tuesday, June 4, 13
10. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Website Traffic
Tuesday, June 4, 13
11. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
User List Traffic
Tuesday, June 4, 13
12. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Jelastic
Tuesday, June 4, 13
13. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Jelastic
Tuesday, June 4, 13
14. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tuesday, June 4, 13
15. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
User Feedback
Tuesday, June 4, 13
16. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
“There is also one point to note. TomEE is insanely fast! ”
-- Łukasz Budnik, CXF JAX-RS on Apache TomEE @ DZone
“From an architect that switched from <XXX> to Tomee. I can tell
you Tomee kicks <XXX>'s ass in every way. Memory, speed,
reliability, validation, you name it.”
-- Zeeman, User List
“If you are concerned about performance and footprint, but can
accept that you'll have to solve problems yourself, go TomEE.
(TomEE seems to be _much_ faster than <XXX>)”
-- Jonathan Fisher, User List
Tuesday, June 4, 13
17. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
“An ideal fit for a private cloud.”
-- Rohid Dev, American Express
“We have completely replaced <XXX> with TomEE+ at my dept
and have no regrets.”
-- Miles Poindexter, Condé Nast
“It's an amazingly pure, stable and simple to manage JEE6 web
profile container.”
-- Pete Keys, Starbucks
Tuesday, June 4, 13
18. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Making TomEE
Tuesday, June 4, 13
19. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Files Added
Tuesday, June 4, 13
20. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Files Modified
Tuesday, June 4, 13
21. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Testing
• Our own tests (hour+)
- Arquillian based
- Each test run 4 to 5 times
• Certification Tests on Amazon EC2 (hundred+ machine
hours)
- t1.micro linux images, lot’s of them
- 100 spot instances going at once!
- Each has 613MB memory max
- Pass complete Web Profile TCK with default jvm memory (tiny!)
• Current certified OSs
- Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 t1.micro
- Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 m1.small
- Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 c1.medium
Tuesday, June 4, 13
22. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Results
• Small
- 27MB zip
- 64MB memory
• Works with Tomcat tools (it is Tomcat)
- Eclipse, Netbeans, Intellij
- YourKit, JRebel, NewRelic, etc.....
• Tightly integrated
- All about the code you don’t write
• Hundreds of hours of testing
- Unit, Integration, Compliance
• Certified
- Java EE 6 Web Profile portability
Tuesday, June 4, 13
23. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Doing itYourself
Tuesday, June 4, 13
24. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Perils of doing it yourself
• Wasted time you could spend coding
• Actually slower, not faster
- Tomcat will scan all your jars
- ... so will your JSF implementation
- ... so will your CDI implementation
- ... so will your JAX-RS implementation
- ... so will your JPA implementation... and so on
• Bloated memory from duplicate classes
• Incomplete parts
- OpenJPA missing JTA/EXTENDED EntityManagers
- OpenWebBeans runs 60% of CDI TCK
- Tomcat has no “java:global/” JNDI, @DataSourceDefinition, and
more
Tuesday, June 4, 13
25. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Perils of doing it yourself
• Incomplete integration
- connection, transaction, security propagation
- increased cohesion in specifications
• Get by with a little help from friends
- No way to share bug fixes
- If only there was community for Tomcat integration....
• Under Tested
- 1000s of integration tests required
- Each upgrade is a mystery
- If only there was a community for sharing tests....
• No portability
- Hard changing parts
- Even harder changing servers
Tuesday, June 4, 13
26. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Arquillian
Tuesday, June 4, 13
27. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
All your bugs
are belong to us
Tuesday, June 4, 13
28. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
TomEE + Arquillian = Bliss
• TomEE Remote Adapter
- For separate running TomEE process
- Managed and Unmanaged
• TomEE Embedded Adapter
- Runs TomEE in the test, embedded
• Tomcat + TomEE.war file
- Start with a Tomcat install
- Deploys the TomEE.war
• OpenEJB Embedded Adapter
- Everything but Servlet, JSP, JSF
- Much Faster
Tuesday, June 4, 13
29. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Maven
Tuesday, June 4, 13
30. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
All programs evolve until
they can send email
-- Letts’ Law
Tuesday, June 4, 13
31. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
tomee-maven-plugin
• Configure and setup servers from scratch
- download and unzip fresh server
- add, remove jars from <tomee>/libs/
- install config files
• Manage Server
- start, stop, restart
• Manage Applications
- download apps
- deploy, undeploy
Tuesday, June 4, 13
32. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
tomee-maven-plugin
Tuesday, June 4, 13
33. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tools and Platforms
Tuesday, June 4, 13
34. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tuesday, June 4, 13
36. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Validation
Tuesday, June 4, 13
37. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Validation
• Compiler style handing of issues
• All issues reported in one deploy
• Avoid “inching along” cycles
• Save the user time
• Teach the user
Tuesday, June 4, 13
38. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
OverworkedBean
Tuesday, June 4, 13
39. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Business Interface
Tuesday, June 4, 13
40. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Validation Results
FAIL ... OverworkedBean: Missing required "name" attribute on class-level @EJB usage
FAIL ... OverworkedBean: Missing required "beanInterface" attribute on class-level @EJB usage
FAIL ... OverworkedBean: Missing required "type" attribute on class-level @Resource usage
FAIL ... OverworkedBean: Mistaken use of @Resource on an EntityManager reference. Use @PersistenceConte
FAIL ... OverworkedBean: Mistaken use of @Resource on an EntityManagerFactory reference. Use @Persisten
WARN ... OverworkedBean: Ignoring @PostConstruct used on interface org.superbiz.Overworked method comeIn
WARN ... OverworkedBean: Ignoring @PreDestroy used on interface org.superbiz.Overworked method stayLater
WARN ... OverworkedBean: Ignoring @RolesAllowed used on interface org.superbiz.Overworked method doThisR
WARN ... OverworkedBean: Ignoring @TransactionAttribute used on interface org.superbiz.Overworked method
WARN ... OverworkedBean: Ignoring @TransactionAttribute used on interface org.superbiz.Overworked method
WARN ... OverworkedBean: @Remove is ignored for beans of type Stateless. Method: stayLater
WARN ... OverworkedBean: @Init is ignored for beans of type Stateless. Method: comeInEarly
WARN ... OverworkedBean: Corrected invalid injection-target-name: setMyNumber
Tuesday, June 4, 13
41. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Configuration
Tuesday, June 4, 13
42. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tomcat Options
•No rip and replace
• System Level
- conf/server.xml
• App Level
- META-INF/context.xml
• Standard configuration options still work
- Resources available too all components: EJBs, CDI, JSF
• Connection pooling still not JTA aware!
• All Security done with Tomcat Realms
- EJB security
- WebService Security
- Use your custom Realm implementation
Tuesday, June 4, 13
43. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Additional Options
• System Level
- conf/tomee.xml
- conf/system.properties
• Process Level
- plain -D properties
• App Level
- META-INF/context.xml
- META-INF/resources.xml
- META-INF/application.properties
Tuesday, June 4, 13
44. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
conf/tomee.xml
Tuesday, June 4, 13
45. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Not Case-Sensitive
Tuesday, June 4, 13
46. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Be as Brief as you Want
Tuesday, June 4, 13
47. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
...really
Tuesday, June 4, 13
48. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
...really brief
Tuesday, June 4, 13
49. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Human Readable Durations
Tuesday, June 4, 13
50. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Comments Welcome
Tuesday, June 4, 13
51. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Do it in the App
• META-INF/resources.xml
Tuesday, June 4, 13
52. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Hate XML?
Tuesday, June 4, 13
53. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
conf/system.properties
Tuesday, June 4, 13
54. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Plain Java Properties
• JAVA_OPTS in a script
Tuesday, June 4, 13
55. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Mixed
• conf/tomee.xml
• META-INF/resources.xml
• JAVA_OPTS in a script
Tuesday, June 4, 13
56. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Extending
Tuesday, June 4, 13
57. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Extending (configuration)
• META-INF/resources.xml
• Injectable via @Resource
Tuesday, June 4, 13
58. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Extending (runtime events)
• CDI-style @Observes
• Registered via <Service> in META-INF/resources.xml
• Not quite CDI (yet)
• 27 client-side events
• 12 server-side events
• more events coming...
Tuesday, June 4, 13
59. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tuesday, June 4, 13
60. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Failover Client-Side Events
Tuesday, June 4, 13
61. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Management and
Monitoring
Tuesday, June 4, 13
62. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Management and Monitoring
• JMX
- Webapp JMX deployment / apps (Tomcat)
- EJB Servers / Containers / Invocation stats (OpenEJB)
- JMS Topic / Queue / Subscriber / Broker (ActiveMQ)
- PersistenceUnit redeploy
- Database Pools
- Discovered servers / peers
- more coming...
• REST (soon)
- Just idea at this point
- Tiny bit available via ‘tomee’ console
- Would be great to have REST equivalents of all JMX beans
Tuesday, June 4, 13
64. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Tuning
Tuesday, June 4, 13
65. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Scanning
• META-INF/scan.xml
• Usable in any jar
• Speeds loading of large jars
• Match packages
• Match classes
Tuesday, June 4, 13
66. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Clust...^H...
Cloud Features
Tuesday, June 4, 13
67. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Cloud
• Existing
- Super tiny size
- Certified on EC2 t1.micro, m1.small, c1.medium
- TCP and UDP server discovery
- Standard Tomcat clustering... er... cloudstering
- EJB client load-balancing and failover (stateless)
- Maven based provisioning
• Desired
- Multi-server console w/ monitoring and deployment
- Queue based auto-scaling (add/remove nodes)
- Cloud scoped @Singletons
- Cloud-wide @Observers and Events
- Cloud-wide Timers and @Schedule methods
- Amazon BeanStalk w/ TomEE
Tuesday, June 4, 13
68. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
Cloud Feature Requests?
Tuesday, June 4, 13
69. Apache #TomEE - #JavaEE on #Tomcat / @dblevins
thank you!
tomee.apache.org
@dblevins
dblevins@apache.org
Tuesday, June 4, 13