A detailed overview presentation on Java EE Connector Architecture 1.6 (JSR 322) Technology that was released recently as part of Java EE 6.
See http://blogs.sun.com/sivakumart/entry/java_ee_connector_architecture_1 for the announcement and http://jcp.org/en/jsr/detail?id=322 for the JSR.
This presentation was originally delivered in JavaOne 2009, San Francisco and has detailed presentation notes.
This document provides an overview of developing cloud native Java applications. It discusses:
- Using microservices and containers to build distributed and scalable applications.
- Key principles of cloud native design like designing for distribution, resilience, and automation.
- Tools for building microservices like Java EE, Dropwizard Metrics, Hystrix, and MicroProfile.
- Techniques for configuration, communication, diagnostics, and resiliency when developing microservices.
- Examples of using technologies like Docker, Kubernetes, Payara Server, ActiveMQ, and PostgreSQL in a microservices architecture.
The document provides a comprehensive but concise introduction to developing cloud native applications using microservices and Java technologies.
OTN Tour 2013: What's new in java EE 7Bruno Borges
The document discusses the new features in Java EE 7, including WebSocket client/server endpoints, batch applications, JSON processing, concurrency utilities, simplified JMS API, transactional scopes, JAX-RS client API, and more annotated POJOs with less boilerplate code. The Java EE 7 release aims to provide more productivity, support for HTML5, and address enterprise demands.
Unleash the power of Context and Dependency Injection (CDI) in a JEE container. The slides go over the 2.0 specification and how each part of the specification can be applied. Code for this can be found on GitHub: https://github.com/bpaskin/JavaExamples/tree/master/CDI2.0Examples/src/com/ibm/example/cdi
This session describes the overview on different types of spring containers. Here we can also find simple examples showing the demo to instantiate the containers.
In this session I have described the different types of dependency injections and their usages.
Reference Link : http://en.wikipedia.org/wiki/Dependency_injection
This document discusses Spring Framework 4.0 and its support for Java 8 features. Spring 4.0 will include first-class support for Java 8 language features like lambda expressions and the new date/time API. It will also support upcoming Java EE 7 specifications. Some initial challenges in supporting Java 8 included differences in bytecode versions and hash algorithm changes. The document provides examples of using Java 8 lambda expressions with Spring's JdbcTemplate. It also discusses the state of Java 8 and tool support as Spring 4.0 development progresses.
.NET Core, ASP.NET Core Course, Session 15aminmesbahi
The document discusses saving data with Entity Framework Core, including:
- Tracking changes with the ChangeTracker and calling SaveChanges() to write changes to the database
- Adding, updating, deleting, and saving related data
- Configuring cascade deletes and concurrency tokens
- Handling concurrency conflicts when saving data
- Using transactions to group multiple database operations atomically
The document discusses Java EE 7 and its new features. It provides an overview of APIs added in Java EE 7 like JMS 2, batch processing, bean validation 1.1, JAX-RS 2, JSON processing, and concurrency utilities. The document also mentions some planned features for Java EE 8 like JSON-B, JCache, CDI 2.0 and highlights resources for learning more about Java EE.
This document provides an overview of developing cloud native Java applications. It discusses:
- Using microservices and containers to build distributed and scalable applications.
- Key principles of cloud native design like designing for distribution, resilience, and automation.
- Tools for building microservices like Java EE, Dropwizard Metrics, Hystrix, and MicroProfile.
- Techniques for configuration, communication, diagnostics, and resiliency when developing microservices.
- Examples of using technologies like Docker, Kubernetes, Payara Server, ActiveMQ, and PostgreSQL in a microservices architecture.
The document provides a comprehensive but concise introduction to developing cloud native applications using microservices and Java technologies.
OTN Tour 2013: What's new in java EE 7Bruno Borges
The document discusses the new features in Java EE 7, including WebSocket client/server endpoints, batch applications, JSON processing, concurrency utilities, simplified JMS API, transactional scopes, JAX-RS client API, and more annotated POJOs with less boilerplate code. The Java EE 7 release aims to provide more productivity, support for HTML5, and address enterprise demands.
Unleash the power of Context and Dependency Injection (CDI) in a JEE container. The slides go over the 2.0 specification and how each part of the specification can be applied. Code for this can be found on GitHub: https://github.com/bpaskin/JavaExamples/tree/master/CDI2.0Examples/src/com/ibm/example/cdi
This session describes the overview on different types of spring containers. Here we can also find simple examples showing the demo to instantiate the containers.
In this session I have described the different types of dependency injections and their usages.
Reference Link : http://en.wikipedia.org/wiki/Dependency_injection
This document discusses Spring Framework 4.0 and its support for Java 8 features. Spring 4.0 will include first-class support for Java 8 language features like lambda expressions and the new date/time API. It will also support upcoming Java EE 7 specifications. Some initial challenges in supporting Java 8 included differences in bytecode versions and hash algorithm changes. The document provides examples of using Java 8 lambda expressions with Spring's JdbcTemplate. It also discusses the state of Java 8 and tool support as Spring 4.0 development progresses.
.NET Core, ASP.NET Core Course, Session 15aminmesbahi
The document discusses saving data with Entity Framework Core, including:
- Tracking changes with the ChangeTracker and calling SaveChanges() to write changes to the database
- Adding, updating, deleting, and saving related data
- Configuring cascade deletes and concurrency tokens
- Handling concurrency conflicts when saving data
- Using transactions to group multiple database operations atomically
The document discusses Java EE 7 and its new features. It provides an overview of APIs added in Java EE 7 like JMS 2, batch processing, bean validation 1.1, JAX-RS 2, JSON processing, and concurrency utilities. The document also mentions some planned features for Java EE 8 like JSON-B, JCache, CDI 2.0 and highlights resources for learning more about Java EE.
Dependency injection with unity 2.0 Dmytro Mindra LohikaAlex Tumanoff
This document discusses dependency injection (DI) and the Unity DI container. It begins with an overview of DI and its benefits for modularity, testability and adaptability. It then provides examples of DI approaches like composition, factories and the DI pattern. The document demonstrates how Unity can be used to configure DI through registration, injection types and lifetime managers. It concludes with some limitations, performance considerations and additional DI frameworks.
Introduction to Spring's Dependency InjectionRichard Paul
This document provides an overview of dependency injection in Spring. It defines dependency injection as a form of inversion of control where objects are provided to classes rather than having classes create their own dependencies. It discusses the benefits of dependency injection such as loose coupling, easy switching of implementations, and enhanced testability. It also compares constructor injection and setter injection and describes how to configure dependency injection using XML, annotations, and Java configuration in Spring.
Dependency Injection або Don’t call me, I’ll call youDmytro Mindra
This document provides an overview of dependency injection using the Unity framework. It begins by explaining concepts like inversion of control and dependency injection. It then demonstrates how to implement dependency injection with Unity through examples of constructor injection, property injection, and lifetime managers. The document also compares Unity to other frameworks like StructureMap and Spring, and discusses where each framework is best applied. Overall, the document is an introduction to dependency injection principles and how to implement them using the Unity framework.
.NET Core, ASP.NET Core Course, Session 17aminmesbahi
This document provides an overview of Entity Framework Core services and dependency injection. It discusses how EF Core uses services, the different categories of services, and service lifetimes. It also covers how the AddDbContext method works, how EF Core constructs its internal service provider, and some key EF Core package manager console commands like Add-Migration and Scaffold-DbContext.
Connect JavaEE to the cloud with JCA by Steve MillidgePayara
- The document discusses connecting Java EE applications to cloud services using the Java Connector Architecture (JCA).
- JCA defines a standard architecture for connecting Java EE platforms to external systems and has been part of Java EE for over 16 years.
- It describes building inbound and outbound JCA adapters using Payara Cloud Connectors, which deliver standard JCA connectors for cloud messaging services like Kafka, SQS, and MQTT.
- Key aspects of JCA covered include configuration, connection management, message processing, and using message-driven beans for asynchronous inbound communication.
Implementing Microservices with Jakarta EE and MicroProfileKevin Sutter
My half of the presentation at Devoxx BE 2018 (@DevoxxBE). I give brief histories of both MicroProfile and Jakarta EE, and then discuss ways that the two platforms might come together at some point. The associated recording is here: https://www.youtube.com/watch?v=VqMs6a3nv_0
ORM stands for Object/Relational mapping. It is the programmed and translucent perseverance of objects in a Java application in to the tables of a relational database using the metadata that describes the mapping between the objects and the database. An ORM solution comprises of an API for CRUD operations, a language for specifying queries, ability to specify mapping metadata, and techniques for interacting with transactional objects. There are four levels of ORM quality ranging from pure relational to full object mapping.
The document provides information about preparing for a technical interview, including:
- Check the company profile, areas of interest, and domain to understand what may be asked.
- Be prepared to discuss your fundamental computer engineering knowledge as well as one or two subjects you are interested in and knowledgeable about.
- Also prepare to discuss your past project work and the latest technologies.
- Key topics that may be covered include C, C++, data structures, algorithms, databases, operating systems, networks, and various programming languages.
- Understanding pointers, memory allocation functions, structures, unions, classes, inheritance and polymorphism in C/C++ is also important for technical interviews.
.NET Core, ASP.NET Core Course, Session 14aminmesbahi
This document provides an overview of querying data with Entity Framework Core. It discusses:
- The basic components of a LINQ query in EF Core, including obtaining the data source, creating the query, and executing it.
- Different types of queries like tracking vs non-tracking queries, and ways to include related data like eager loading, explicit loading, and lazy loading.
- Additional topics covered include client vs server evaluation, raw SQL queries, and how EF Core handles querying and related data.
The document serves as training material, outlining key concepts of querying and related data retrieval using EF Core. It provides examples and explanations of common query patterns and capabilities.
.NET Core, ASP.NET Core Course, Session 16aminmesbahi
The document discusses Entity Framework Core (EF Core) version 1.1 Preview 1, comparing it to Entity Framework 6.x (EF6.x). EF Core 1.1 adds support for new operating systems, improves LINQ translation, adds the DbSet.Find method, and allows mapping properties to fields. While EF Core shares some APIs with EF6.x, it is still a new and lighter product missing some features, so EF6.x may be better for existing applications. EF Core is best for new .NET Core and ASP.NET Core applications that don't require missing EF6.x features.
Spring IOC advantages and developing spring application sample Sunil kumar Mohanty
This document provides an over view of spring IOC and it's advantages. It also gives basic idea on the spring core container. At the last it describes how develop a simple spring application
.NET Core, ASP.NET Core Course, Session 18aminmesbahi
This document provides an overview of new features in ASP.NET Core 1.1, including significant performance improvements running on Linux, improved hosting capabilities on non-IIS hosts, support for developing with native Windows capabilities, improved deployment on Azure, URL rewriting middleware, response caching middleware, a WebListener server for Windows, viewing components as tag helpers, middleware as MVC filters, a cookie-based TempData provider, view compilation, Azure App Service logging, Azure Key Vault configuration provider, and Redis and Azure Storage Data Protection key repositories.
Improve OpenStack Hybrid Cloud Security With Intel, Mirantis and SoftLayerDavid Slovensky
Together Intel, Mirantis and SoftLayer demonstrate how Intel Trusted Execution Technology, attestation and automation can enhance hybrid cloud security
.NET Core, ASP.NET Core Course, Session 8aminmesbahi
This document provides an overview of configuration in ASP.NET Core, including:
- Configuration supports JSON, XML, INI, environment variables, command line arguments, and custom providers.
- The configuration system provides access to key-value settings from multiple sources in a hierarchical structure.
- Options patterns use classes to represent related settings that can be injected via IOptions and configured from appsettings.
- The Secret Manager tool can store secrets during development without checking them into source control.
This document provides release notes and supplementary information for Delphi 7. It notes that some components have been deprecated and recommends newer alternatives. It also describes changes made to string handling functions, warnings added by the compiler, and issues fixed in streaming of subcomponents. Finally, it provides notes on various other topics like Apache, UDDI, Windows XP input, and databases.
Dev212 Comparing Net And Java The View From 2006kkorovkin
The document compares .NET and Java application platforms as of 2006. It discusses how both platforms have evolved over the past decade to include technologies like web services, workflows, and rules engines. While .NET focused on WCF, WF, and LINQ, Java emphasized Java EE, EJB, and SCA. The author predicts that future platforms will blend Java EE, SCA, and open-source technologies to define logic and services, access data, and build distributed applications.
The document discusses integrating Vaadin with Java Enterprise Edition (EE). It describes using Context and Dependency Injection (CDI) to allow Vaadin UI and view classes to be managed beans that can reference EE objects through annotations like @Inject and @EJB. This allows Vaadin applications to easily access services, repositories, and other components defined using Java EE APIs and specifications.
.NET Core, ASP.NET Core Course, Session 19aminmesbahi
The document provides an introduction to ASP.NET Core Identity and OAuth 2.0 authorization. It discusses Identity topics like user registration, sign in, the database schema, and dependencies. It also covers OAuth concepts like roles, tokens, registering as a client, authorization flows, and security vulnerabilities. The document is an introduction and overview of key Identity and OAuth concepts for a .NET Core training course.
The document discusses new features in the Java EE Connector Architecture version 1.6, including ease of development features using annotations, a generic work context mechanism, and security context inflow. The presentation covers these three main themes, provides code examples, and discusses how these features allow resource adapters to more easily develop connectors and propagate security and transaction context between enterprise information systems and Java EE applications and components.
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
Jetpack released new features in 2021 including:
- Compose integrations with libraries like Hilt, Paging, and Navigation.
- Improvements to CameraX, Room, DataStore, Navigation, and other libraries.
- New libraries like AppSearch, Macrobenchmark, and Google Shortcuts.
- Support for additional form factors with updates to libraries like Window and Wear.
- Many libraries reached stable versions or added new capabilities in alpha/beta stages.
The document summarizes several of the user's previous projects at Wipro Technologies working with clients such as Microsoft, Apple, DHL, and Motorola. It provides details on the project names, locations, clients, technologies used, and the user's responsibilities for each project. Projects involved tasks such as analyzing DryadLINQ on Windows HPC Server, developing an API for Apple's cloud platform, implementing security protocols for Motorola, and validating technical documents for Microsoft protocols.
Dependency injection with unity 2.0 Dmytro Mindra LohikaAlex Tumanoff
This document discusses dependency injection (DI) and the Unity DI container. It begins with an overview of DI and its benefits for modularity, testability and adaptability. It then provides examples of DI approaches like composition, factories and the DI pattern. The document demonstrates how Unity can be used to configure DI through registration, injection types and lifetime managers. It concludes with some limitations, performance considerations and additional DI frameworks.
Introduction to Spring's Dependency InjectionRichard Paul
This document provides an overview of dependency injection in Spring. It defines dependency injection as a form of inversion of control where objects are provided to classes rather than having classes create their own dependencies. It discusses the benefits of dependency injection such as loose coupling, easy switching of implementations, and enhanced testability. It also compares constructor injection and setter injection and describes how to configure dependency injection using XML, annotations, and Java configuration in Spring.
Dependency Injection або Don’t call me, I’ll call youDmytro Mindra
This document provides an overview of dependency injection using the Unity framework. It begins by explaining concepts like inversion of control and dependency injection. It then demonstrates how to implement dependency injection with Unity through examples of constructor injection, property injection, and lifetime managers. The document also compares Unity to other frameworks like StructureMap and Spring, and discusses where each framework is best applied. Overall, the document is an introduction to dependency injection principles and how to implement them using the Unity framework.
.NET Core, ASP.NET Core Course, Session 17aminmesbahi
This document provides an overview of Entity Framework Core services and dependency injection. It discusses how EF Core uses services, the different categories of services, and service lifetimes. It also covers how the AddDbContext method works, how EF Core constructs its internal service provider, and some key EF Core package manager console commands like Add-Migration and Scaffold-DbContext.
Connect JavaEE to the cloud with JCA by Steve MillidgePayara
- The document discusses connecting Java EE applications to cloud services using the Java Connector Architecture (JCA).
- JCA defines a standard architecture for connecting Java EE platforms to external systems and has been part of Java EE for over 16 years.
- It describes building inbound and outbound JCA adapters using Payara Cloud Connectors, which deliver standard JCA connectors for cloud messaging services like Kafka, SQS, and MQTT.
- Key aspects of JCA covered include configuration, connection management, message processing, and using message-driven beans for asynchronous inbound communication.
Implementing Microservices with Jakarta EE and MicroProfileKevin Sutter
My half of the presentation at Devoxx BE 2018 (@DevoxxBE). I give brief histories of both MicroProfile and Jakarta EE, and then discuss ways that the two platforms might come together at some point. The associated recording is here: https://www.youtube.com/watch?v=VqMs6a3nv_0
ORM stands for Object/Relational mapping. It is the programmed and translucent perseverance of objects in a Java application in to the tables of a relational database using the metadata that describes the mapping between the objects and the database. An ORM solution comprises of an API for CRUD operations, a language for specifying queries, ability to specify mapping metadata, and techniques for interacting with transactional objects. There are four levels of ORM quality ranging from pure relational to full object mapping.
The document provides information about preparing for a technical interview, including:
- Check the company profile, areas of interest, and domain to understand what may be asked.
- Be prepared to discuss your fundamental computer engineering knowledge as well as one or two subjects you are interested in and knowledgeable about.
- Also prepare to discuss your past project work and the latest technologies.
- Key topics that may be covered include C, C++, data structures, algorithms, databases, operating systems, networks, and various programming languages.
- Understanding pointers, memory allocation functions, structures, unions, classes, inheritance and polymorphism in C/C++ is also important for technical interviews.
.NET Core, ASP.NET Core Course, Session 14aminmesbahi
This document provides an overview of querying data with Entity Framework Core. It discusses:
- The basic components of a LINQ query in EF Core, including obtaining the data source, creating the query, and executing it.
- Different types of queries like tracking vs non-tracking queries, and ways to include related data like eager loading, explicit loading, and lazy loading.
- Additional topics covered include client vs server evaluation, raw SQL queries, and how EF Core handles querying and related data.
The document serves as training material, outlining key concepts of querying and related data retrieval using EF Core. It provides examples and explanations of common query patterns and capabilities.
.NET Core, ASP.NET Core Course, Session 16aminmesbahi
The document discusses Entity Framework Core (EF Core) version 1.1 Preview 1, comparing it to Entity Framework 6.x (EF6.x). EF Core 1.1 adds support for new operating systems, improves LINQ translation, adds the DbSet.Find method, and allows mapping properties to fields. While EF Core shares some APIs with EF6.x, it is still a new and lighter product missing some features, so EF6.x may be better for existing applications. EF Core is best for new .NET Core and ASP.NET Core applications that don't require missing EF6.x features.
Spring IOC advantages and developing spring application sample Sunil kumar Mohanty
This document provides an over view of spring IOC and it's advantages. It also gives basic idea on the spring core container. At the last it describes how develop a simple spring application
.NET Core, ASP.NET Core Course, Session 18aminmesbahi
This document provides an overview of new features in ASP.NET Core 1.1, including significant performance improvements running on Linux, improved hosting capabilities on non-IIS hosts, support for developing with native Windows capabilities, improved deployment on Azure, URL rewriting middleware, response caching middleware, a WebListener server for Windows, viewing components as tag helpers, middleware as MVC filters, a cookie-based TempData provider, view compilation, Azure App Service logging, Azure Key Vault configuration provider, and Redis and Azure Storage Data Protection key repositories.
Improve OpenStack Hybrid Cloud Security With Intel, Mirantis and SoftLayerDavid Slovensky
Together Intel, Mirantis and SoftLayer demonstrate how Intel Trusted Execution Technology, attestation and automation can enhance hybrid cloud security
.NET Core, ASP.NET Core Course, Session 8aminmesbahi
This document provides an overview of configuration in ASP.NET Core, including:
- Configuration supports JSON, XML, INI, environment variables, command line arguments, and custom providers.
- The configuration system provides access to key-value settings from multiple sources in a hierarchical structure.
- Options patterns use classes to represent related settings that can be injected via IOptions and configured from appsettings.
- The Secret Manager tool can store secrets during development without checking them into source control.
This document provides release notes and supplementary information for Delphi 7. It notes that some components have been deprecated and recommends newer alternatives. It also describes changes made to string handling functions, warnings added by the compiler, and issues fixed in streaming of subcomponents. Finally, it provides notes on various other topics like Apache, UDDI, Windows XP input, and databases.
Dev212 Comparing Net And Java The View From 2006kkorovkin
The document compares .NET and Java application platforms as of 2006. It discusses how both platforms have evolved over the past decade to include technologies like web services, workflows, and rules engines. While .NET focused on WCF, WF, and LINQ, Java emphasized Java EE, EJB, and SCA. The author predicts that future platforms will blend Java EE, SCA, and open-source technologies to define logic and services, access data, and build distributed applications.
The document discusses integrating Vaadin with Java Enterprise Edition (EE). It describes using Context and Dependency Injection (CDI) to allow Vaadin UI and view classes to be managed beans that can reference EE objects through annotations like @Inject and @EJB. This allows Vaadin applications to easily access services, repositories, and other components defined using Java EE APIs and specifications.
.NET Core, ASP.NET Core Course, Session 19aminmesbahi
The document provides an introduction to ASP.NET Core Identity and OAuth 2.0 authorization. It discusses Identity topics like user registration, sign in, the database schema, and dependencies. It also covers OAuth concepts like roles, tokens, registering as a client, authorization flows, and security vulnerabilities. The document is an introduction and overview of key Identity and OAuth concepts for a .NET Core training course.
The document discusses new features in the Java EE Connector Architecture version 1.6, including ease of development features using annotations, a generic work context mechanism, and security context inflow. The presentation covers these three main themes, provides code examples, and discusses how these features allow resource adapters to more easily develop connectors and propagate security and transaction context between enterprise information systems and Java EE applications and components.
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
Jetpack released new features in 2021 including:
- Compose integrations with libraries like Hilt, Paging, and Navigation.
- Improvements to CameraX, Room, DataStore, Navigation, and other libraries.
- New libraries like AppSearch, Macrobenchmark, and Google Shortcuts.
- Support for additional form factors with updates to libraries like Window and Wear.
- Many libraries reached stable versions or added new capabilities in alpha/beta stages.
The document summarizes several of the user's previous projects at Wipro Technologies working with clients such as Microsoft, Apple, DHL, and Motorola. It provides details on the project names, locations, clients, technologies used, and the user's responsibilities for each project. Projects involved tasks such as analyzing DryadLINQ on Windows HPC Server, developing an API for Apple's cloud platform, implementing security protocols for Motorola, and validating technical documents for Microsoft protocols.
The document introduces Test Driven Development (TDD), Continuous Integration (CI), Inversion of Control (IoC), and Aspect Oriented Programming (AOP). It discusses TDD principles and tools for writing tests first before code. CI aims to integrate code changes frequently to prevent integration problems. IoC and dependency injection improve software design by reducing coupling between components. AOP allows cross-cutting concerns like logging to be coded separately from the main program logic.
This document provides an introduction to Eclipse Microprofile, including:
- Microprofile started in 2016 to define a minimum set of APIs for microservices including JAX-RS, CDI, and JSON-P.
- It has grown to include additional APIs for configuration, fault tolerance, security, metrics, and more.
- These APIs are implemented by various Java application servers and can be used together through a single Maven dependency.
- The presentation describes the various Microprofile sub-projects and how they can be used to build microservices.
Building 12-factor Cloud Native MicroservicesJakarta_EE
The document discusses the twelve-factor app methodology for building cloud-native microservices. It describes the twelve factors including codebase, dependencies, configuration, backing services, build/release/run stages, processes, port binding, concurrency, disposability, development/production parity, logs, and admin processes. It then demonstrates how to build a twelve-factor app using MicroProfile specifications and Kubernetes, with a live coding example of two microservices. References are provided for further reading.
The document provides an overview of the Play Framework using Scala. It discusses key features of Play including hot reloading, type safety, and predefined modules. It also covers installing Play, the MVC architecture, developing REST APIs, adding dependencies, routing, and configuration. Common commands like sbt run and sbt compile are listed. The document demonstrates creating a part-of-speech tagger using Play and Scala.
Use Eclipse technologies to build a modern embedded IDEBenjamin Cabé
This document discusses requirements for developing an embedded integrated development environment (IDE) using Eclipse technologies. It describes using Eclipse Modeling Framework (EMF) to model embedded projects. It also discusses using EMF validation, Graphical Modeling Framework (GMF) editors, Xpand for code generation, and the CDT and DLTK plugins for code editing. The IDE will integrate model and code editing with compilation, communication with targets via the Target Communication Framework (TCF) and Remote System Explorer (RSE). The goal is to leverage the Eclipse ecosystem to quickly create a complex IDE environment focused on embedded development.
The document summarizes security enhancements in Visual Studio 2005 and SQL Server 2005, including managed code security improvements like running under less privileged accounts, code access security, and debugging/IntelliSense in restricted permission zones. It also describes SQL Server 2005 features like secure defaults, strengthened authentication, granular permissions, encryption and execution context.
A Walking Tour of (almost) all of Springdom Joshua Long
this is the deck for my 3+ hour walking tour talk that I give as a workshop at various conferences. This talk introduces practically everything in Spring -- come into the talk unaware of the concepts or frameworks and leave with a working knowledge of all the frameworks, and of all the applications for the technologies.
1) The document discusses the 12 factor app methodology for building cloud-native applications as microservices. It outlines the 12 factors including codebase, dependencies, configuration, backing services, build/release/run, processes, port binding, concurrency, disposability, development/production parity, logs, and admin processes.
2) It describes how to build a 12 factor app using MicroProfile specifications and Kubernetes. MicroProfile provides APIs for configuration, fault tolerance, metrics, and more. Kubernetes provides deployment and scaling.
3) The presentation provides code examples for MicroProfile configuration injection and REST clients and discusses how each of the 12 factors can be addressed through MicroProfile and Kubernetes. It emphasizes separating code from configuration and
This document provides an overview of key Spring concepts including dependency injection, inversion of control, annotation-based configuration, bean lifecycle, profiles, AOP, and testing. It describes how Spring offers a simpler approach to enterprise Java development using POJOs and how different features like profiles, conditional beans, and expressions work.
This document discusses microservices using Node.js and JavaScript. It covers building an HTTP microservice with Express including routing, structure, database integration, logging and testing. It also discusses building command-based microservices with Seneca including patterns, plugins, and queueing. Finally, it discusses containerization with Docker, API gateways, testing, process management with PM2, and some considerations around when microservices may not be the best solution.
Jakarta Concurrency provides APIs for concurrency and asynchronous programming in Java EE and Jakarta EE applications. It allows adding asynchronous breaks and running tasks in parallel or periodically. New features in Jakarta EE 10 include deployable managed executor services and scheduled executor services. Future plans include better integration with CDI contexts and aligning asynchronous servlets and JAX-RS with Concurrency. Developers are encouraged to get involved in the open source Eclipse project.
This document discusses how to become an expert Android developer using Google technologies. It recommends using Android Studio as the integrated development environment due to its fast tools for building apps. It also recommends using the Android Jetpack architecture components like ViewModel, LiveData, and Room to accelerate development and build robust apps by eliminating boilerplate code. The document also covers other Jetpack components like Data Binding, Navigation, Lifecycles, and Testing to further improve the development process.
This document provides an overview of security in Windows Communication Foundation (WCF). It discusses the different WCF bindings and their default security settings. It also covers how to configure WCF security by setting the security mode, client credential type, and credential values. Additional topics include role-based and claims-based authorization, impersonation, and sample security configuration code. The document recommends the WSHttpBinding for default message encryption security and also mentions the BasicHttpBinding and NetMsmqBinding as other options to consider for bindings.
Jdon Framework is a lightweight framework that helps build clean and fluent architecture systems using domain-driven design principles. It introduces reactive and event-driven patterns into the domain layer. Jdon uses an asynchronous and non-blocking approach to allow for higher throughput applications compared to traditional request-response frameworks like Spring. Key aspects of Jdon include domain events that enable loose coupling between components, and a single-writer model that guarantees single operations on in-memory state.
This document discusses various Java concurrency utilities including the Executor framework for managing asynchronous tasks, Callable and Future for returning values from asynchronous tasks, synchronizers like Semaphores for controlling access to shared resources, concurrent collections like BlockingQueue for thread-safe data sharing, atomic variables for lock-free single variable updates, locks like ReentrantLock for more flexible locking than synchronized, and ReadWriteLock for controlling read/write access to shared data. These utilities help enable simple development of multi-threaded applications with improved performance, scalability and reliability.
Developing enterprise applications today using JavaFX is a challenge. The industry has not matured enough to identify patterns and practices. Consequently practioners (architects and developers alike) commit the same mistakes again and again. There is a complete lack of non-UI frameworks that make JavaFX application development easy and fast. FxObjects attempts to address that gap. The 0.1 version released provides powerful features.
Semelhante a Java EE Connector Architecture 1.6 (JSR 322) Technology (20)
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
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.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
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.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
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.
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
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
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.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
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
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
Java EE Connector Architecture 1.6 (JSR 322) Technology
1. Java TM EE Connector Architecture 1.6 Technology (JSR 322) Sivakumar Thyagarajan and Binod PG Sun Microsystems TS-4733
2. Presentation Goal Learn about the new features planned for the Java TM EE Connector Architecture 1.6 technology
3. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
4. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
6. Connector Architecture 1.0 Capabilities Outbound communication Mechanism for Java EE components to connect to external systems Connection Management: Lifecycle, Pooling, Sharing Security Contract Exporting Transaction and Security Context to EIS
7. Connector 1.5 (JSR 112) Introduction Final Release Nov 2003 Part of J2EE (Java 2 Enterprise Edition) 1.4 Major themes Asynchronous Integration with EISs Enabled bi-directional asynchronous interactions with EIS JMS Provider Pluggability
8. Connector Architecture 1.5 Capabilities Lifecycle Management Inbound Messaging Mechanism for EIS to call Message Endpoints (MDBs) Import transaction context from EIS Work Management
9. Connector 1.6 Specification Introduction Work in progress by the expert group of JSR 322 Part of Java EE 6 Progress so far Filed JSR in Dec 2007 Early Draft Review: July 2008 Public Review: Nov 2008 Proposed Final Draft (PFD) available from Feb 2009 Final dates to be aligned with Java EE 6
10. Connector 1.6 Specification Major Themes Driven by community and Connector EG feedback Themes Generic Work Context mechanism Security Context Inflow during Message Delivery and Work Submission Ease of Development (EoD) Misc. improvements to the specification Disclaimer: APIs/Features shown in this presentation are as per the PFD version of the specification. Subject to change with feedback.
11. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
12. Ease of Development (EoD) Goal and approach Goal to simplify the development of RAs for programmers who are either just starting with Connector technology or developing RAs of small to medium complexity Approach Align with the EoD approach adopted by EJB/JPA Make extensive use of Java language annotations Reduce the need for a descriptor (ra.xml), better defaults Allow sparse descriptors, mixed-mode development etc.
13. Ease of Development Metadata annotations @Connector @AuthenticationMechanism @SecurityPermission @ConfigProperty Automatic discovery of configuration properties @ConnectionDefinition, @ConnectionDefinitions @Activation @AdministeredObject
14. Ease of Development @Connector sample usage Optionally provide a ResourceAdapter class Required only if RA supports inbound, requires lifecycle callbacks, access to BootstrapContext etc //A simple resource adapter that does not support transactions @ Connector () public class MailResourceAdapter implements ResourceAdapter { // Define common configuration properties. //... other methods }
15. Ease of Development @ConnectionDefinition sample usage //A simple ManagedConnectionFactory implementation that is part of //a connection definition, could be defined as follows @ ConnectionDefinition(connectionFactory=CF. class , connectionFactoryImpl=CFImpl. class , connection=Conn. class , connectionImpl=ConnImpl. class ) public class ManagedConnectionFactoryImpl implements ManagedConnectionFactory { //... }
16. Ease of Development @Activation sample usage @ Activation() public class MyActivationSpec { //Use of Bean Validation annotations to express //validation requirements @ Size(min=5, max=5) private int length ; //... other methods }
17. Ease of Development Demo time ! Demonstration: mail-connector sample Showcase the ease of development features Compare the same resource adapter developed in Connector 1.5 and 1.6 Deploy on Java EE 6 RI (Project GlassFish v3)
18. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
19. Generic Work Context Rationale A generic mechanism for the RA to propagate other contextual info from EIS during message delivery or Work submission Examples: Security, Conversational Context, Availability/QoS etc Enables an application server to support new message inflow and delivery schemes provides a richer Contextual Work execution environment to the RA
20. Generic Work Context Design Model RA submits a Work that implements WorkContextProvider Before calling run on the Work instance, WorkManager iterates through the Collection of WorkContext s provided by the Work instance Establishes Context based on the WorkContext
21. Generic Work Context WorkContextProvider and WorkContext interface package javax.resource.spi.work; public interface WorkContextProvider { List<WorkContext> getWorkContexts(); } package javax.resource.spi.work; public interface WorkContext { String getName(); String getDescription(); }
23. Generic Work Context Features Compatible with the Connector 1.5 Work submission and context assignment model Independent of the Connector Work Management contract Standardized TransactionContext, SecurityContext and HintsContext RA can require the AS to support, check if the AS supports, and get lifecycle notifications during the assignment of a WorkContext
24. Generic Work Context Standardized WorkContext s public class TransactionContext extends ExecutionContext implements WorkContext { public TransactionContext(Xid xid) { ... } public TransactionContext( Xid xid, long timeout){ ... } public String getName(){ return "TransactionContext" ; } ... other methods } public abstract class SecurityContext implements WorkContext { public String getName(){ return "SecurityContext" ; } .... other SecurityContext related methods }
25. Generic Work Context Sample usage Scenario A business use-case requires that the work done by the application components, during a message inflow, be automatically enlisted as part of the imported transaction . Solution Use the new TransactionContext to propagate transaction information from the EIS to the MessageEndpoint as part of the Work instance performing the message delivery
26. Generic Work Context Sample usage – ResourceAdapter implementation public class MyResourceAdapterImpl implements ResourceAdapter { ... public void start(BootstrapContext ctx) { bootstrapCtx = ctx; } ... { WorkManager workManager = myRA.bootstrapCtx.getWorkManager(); workManager.submitWork( new MyWork()); ... } }
27. Generic Work Context Sample usage – Work implementation public class MyWork implements Work, WorkContextProvider { void release(){ ..} List<WorkContext> getWorkContexts() { TransactionContext txIn = new TransactionContext(xid); List<WorkContext> icList = new ArrayList<WorkContext>(); icList.add(txIn); // Add additional WorkContext s return icList; } void run(){ // Deliver message to MessageEndpoint ; } }
28. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
29. Security Inflow Rationale Security inflow context absent in Connectors 1.5 Resource adapters not being able to deliver end-to-end application level security while executing a task in a Work instance delivering a message to a MessageEndpoint
30. Security Inflow Goals Enable an end-to-end security model for Java EE application-EIS integration Support the execution of a Work instance in the context of an established identity. Support the propagation of Principal information from an EIS to a MessageEndpoint during message inflow
31. Security Inflow Design Model A standard WorkContext , SecurityContext that may be provided by the RA while submitting a Work for execution AS establishes security context for the MessageEndpoint / Work during context assignment Leverage the work done in JSR 196: Java Authentication Service Provider Interface for Containers RA uses the various JSR-196 Callbacks to establish caller identity
32. Security Inflow SecurityContext abstract class package javax.resource.spi.work; import javax.security.auth.Subject; import javax.security.auth.callback.CallbackHandler; public abstract class SecurityContext implements WorkContext { //Establish caller identity through the use of JSR196 Callbacks public abstract void setupSecurityContext( CallbackHandler handler, Subject executionSubject, Subject serviceSubject); }
34. Security Inflow Caller Identity inflow scenarios Based on whether the Caller identity is part of the AS security domain Case 1 : RA flows-in an identity in the AS’s security policy domain: AS may just use the initiating principal from the RA as the caller principal Case 2 : RA flows- in an identity belonging to the EIS’ security domain: A translation from one domain to the other needs to be performed.
37. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
38. Miscellaneous improvements Transaction Management Specification of Transaction Support Level at Runtime Work Management Distributed Work Processing HintsContext Message Inflow createMessageEndpoint timeouts Retryable exceptions
39. Miscellaneous improvements Bean Validation integration (JSR 303) Standalone Connector Environment Configuration Property processing range specification through JSR 303 dynamic reconfiguration and confidential params support Classloading requirements clarified scenarios where deployed standalone RARs must be made visible to applications
40. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q & A
41. Resources – To learn more & get started JSR 322 page http://jcp.org/en/jsr/detail?id=322 Download proposed final draft spec and send comments to [email_address] Reference implementation at http://GlassFish.org Download and try GlassFish v3 – Java EE 6 release Try Connector 1.6 samples as part of GlassFish v3 and build new 1.6 resource adapters Blogs Siva: http://blogs.sun.com/sivakumart Binod: http://weblogs.java.net/blog/binod/
42. Summary Part of Java EE 6 and reference implementation available through GlassFish v3 Simplifies resource adapter development Adds powerful new capabilities to assign contexts during Work execution and Message delivery Enhances enterprise application integration capabilities in Java EE 6
43. Agenda Introduction Connector 1.6 themes Generic Work Context Security Inflow Ease of Development (EoD) features Miscellaneous improvements Resources and Summary Q & A
- The J2EE Connector Architecture 1.0 defines a standard architecture for connecting to heterogeneous enterprise information systems (EIS), such as enterprise resource planning (ERP), mainframe transaction processing and database systems from the J2EE platform. The architecture defines a set of scalable, secure, and transactional mechanisms that describe the integration of enterprise information systems to an application server and enterprise applications. This architecture enables an enterprise information system (EIS) vendor to provide a resource adapter for its EIS that can be plugged into any application server that supports the J2EE Connector Architecture.
- A connection management contract that enables an application server to pool connections to an underlying EIS, and enables application components to connect to an EIS. This leads to a scalable application environment that can support a large number of clients requiring access to EISs. - A transaction management contract between the transaction manager and an EIS that supports transactional access to EIS resource managers. This contract enables an application server to use a transaction manager to manage transactions across multiple resource managers. This contract also supports transactions that are managed internal to an EIS resource manager without the necessity of involving an external transaction manager. - A security contract that enables secure access to an EIS. This contract provides support for a secure application environment that reduces security threats to the EIS and protects valuable information resources managed by the EIS.
- The purpose of the J2EE Connector Architecture 1.5 specification is to address areas in J2EE Connector Architecture 1.0 where further support has been requested by the Connector expert group and the public. The areas this specification intends to address include the following: * Asynchronous integration with EISs Connector Architecture 1.0 supports a synchronous request/reply model from a J2EE server to an EIS. This specification will add support for bi-directional, asynchronous interactions between a J2EE server and resource adapters. This feature may require enhancement of the existing Connector system contracts and addition of new system contracts. * ? JMS Provider Pluggability This specification will define a standard architecture to integrate a JMS provider into a J2EE server. This feature will enable one or more JMS providers to be plugged into any J2EE server that supports the J2EE Connector Architecture 1.5. This feature may require enhancement of the existing Connector system contracts and addition of new system contracts.
- A lifecycle management contract that allows an application server to manage the lifecycle of a resource adapter. This contract provides a mechanism for the application server to bootstrap a resource adapter instance during its deployment or application server startup, and to notify the resource adapter instance during its undeployment or during an orderly shutdown of the application server. - A work management contract that allows a resource adapter to do work (monitor network endpoints, call application components, etc.) by submitting Work instances to an application server for execution. The application server dispatches threads to execute submitted Work instances. This allows a resource adapter to avoid creating or managing threads directly, and allows an application server to efficiently pool threads and have more control over its runtime environment. The resource adapter can control the security context and transaction context with which Work instances are executed.
Final date: Dec 10, 2009
Let's start with one of the most important changes we are making in this version of the specification – ease of developement
The goal of the API is to simplify the development of resource adapter implementations for programmers who are just starting with resource adapters, or developing resource adapters of small to medium complexity. The existing Connector APIs remain available for use in resource adapters that require them and resource adapter implementations written to those APIs may be used in conjunction with components written to the new Connector 1.6 APIs.
- Deployment descriptors are an alternative to annotations - override annotation metadata through DD - Dds may be sparse - development of RA can be done in mixed mode form – ie that some parts of the RA metadata can be expressed in annotations and some via ra.xml - new attribute metadata-complete in ra.xml to indicate whether annotations needs to be processed in the archive - these annotations are defined in javax.resource.spi package
- component defining annotation - defines a resource adapter. The JavaBean annotated with @Connector is required to implement ResourceAdapter interface. - atmost one javabean in annotation discovery scope can be annotated with @Connector - defaults for a lot of connector related metadata defined in the spec and the user only needs to provide what is specialized for his usecase - Providing an @Connector annotated JavaBean is optional. A ResourceAdapter javabean is only needed if access to the bootstrapcontext is needed or If inbound communication is supported etc - A simple RA that doesn't support transactions is shown in this slide. Notice how easy it is to specify a ResourceAdapter JavaBean
- Connection definition defines a set of connection interfaces and classes pertaining to a particular outbound connection type - ConnectionDefinition annotation can specify such a connection definition - this annotation can be placed only on classes that implement the ManagedConnectionFactory interface
- Contains configuration information related to inbound connectivity from an EIS - Not necessary to implement ActivationSpec interface - Example showcases use of JSR 303 (Bean Validation) annotation to express validation constraints. Other artifacts that can use JSR 303 are: ResourceAdapter, ManagedConnectionFactory, ActivationSpec, Administered Objects. - Example also demonstrates auto discover of configuration properties by the container. In this case, the property “length”(getter/setter elided for brevity) is auto-discovered by the container as a configuration property - @ConfigProperty may be also be used to provide additional metadata like supportsDynamicUpdates, Confidential etc.
Demonstrate the mail connector sample from the glassfish v3 samples. Show the resource adapter implementation code to demonstrate EoD through use of metadata annotations https://glassfish-samples.dev.java.net/source/browse/*checkout*/glassfish-samples/ws/javaee6/connectors/apps/mailconnector/docs/index.html And http://java.sun.com/javaee/reference/code/
Back to major features of the specification
- Earlier referred to as “inflow context”. Has now been renamed to “Work Context” as it is not tied to Message Inflow alone as the earlier name implied. - A contract between a resource adapter and the application server that allows the RA to control the execution context of a Work instance that is being submitted for execution. - The contract is generic so that the RA can flow in different types of contextual information such as Security, Conversation context, availability/QoS hints etc. - AS allows RA to provide richer contextual information while still having control over concurrent behavior - this new contract remains backward compatible with the current Work submission and context assignment contracts - the spec defines standard contracts for Transaction, Security and Hints propagation
High level design model, describes the flow of WorkContext from the RA to the AS during Work submission
Notice how the WorkContext interface is generic enough to allow definition of custom work contexts be AS and RA
Run through the sequence diagram to describe flow
See required-work-context, BootstrapContext.isContextSupported and WorkContextLifecycleListener for more information on the last bullet item
For this example, we could use the Connector 1.5 Execution context to flow in transaction information but if additional context information needs to be passed, WorkContextProvider is the right choice
Notice that there is no change in Work submission
Notice that the only change is in providing contextual information. Based on the usecase, additional Work Contexts could be added to the Work.
Let's now look at another standardized WorkContext, the SecurityContext, that enables propagation of security information from the EIS to the AS during Work submission
- It is critical in EAI that all interactions between AS and RA are secure. - Resource adapters typically employ transport and message level security. - End-to-End application level security wasn't possible before. - When a Work instance was executed or a message was delivered to a Message Endpoint, it was executed in a unknown or default security context. (For example, there was no MessageDrivenContext.getCallerPrincipal() before!)
In addition to the above goals: -Portable across multiple EISs that use different security mechanisms
JSR-196: pluggable authentication for Java EE. Allows authentication modules of 3 rd party providers to be integrated with Java EE containers and establish authentication identities in the container
- RA provides a custom concrete implementation of SecurityContext during Work submission and this sets up the security context for the Work being submitted - CallbackHandler implementation provided by the AS. This supports a variety of JSR 196 Callbacks such as CallerPrincipalCallback, GroupPrincipalCallback, PasswordValidationCallback - serviceSubject: AS credentials - executionSubject: RA populates the Subject to represent the identity executing the Work or delivering the message to the Message Endpoint
Case 1: RA reusing the AS security policy domain. AS may use the Principals set by the RA using CallerPrincipalCallback and GroupPrincipalCallback as-is.
- Samples discussing Case 1 and 2 are in the spec.
Case 2: - EIS and AS use different security policy domain. Principals provided by the RA needs to be mapped. - For instance, AS may use basicpassword and EIS may use Kereberos. Mapping from one to another needed prior to establishing the security context. - Such a Principal Mapping Service is not defined in the spec. The AS provides a proprietary mechanism to enable such a mapping. - The CallbackHandler transparently handles this translation. - RA unaware of deployment environment and hence is unaware of Case 1 or Case 2 deployment. - Bunch of optimizations, not covered in this talk in the interest of time, is detailed in the spec.
A bunch of other changes that don't fall into the above 3 major themes are also made in this version of the specification. Let's look at them briefly.
1. RA may determine at runtime the level of transaction support it can provide. Usecase: JDBC resource adapters that can determine their level of support only after connecting to the configured database instance. MCF needs to implement an optional interface to indicate it provides the transaction support level at runtime 2a. Allows a Work Manager to distribute Work processing to other WorkManagers – for instance: a cluster of AS instances that load balances Work processing among themselves 2b. ability to pass Quality of Service hints to a Work Manager. Some standard hints such as LongRunningWork defined in the spec.
1. Range or limits, mandatory properties etc could be specified through JSR 303 on MCF, ResourceAdapter, ActivationSpec, AdministeredObject 2. Like “EJB Lite” in Java EE 6 , minimum set of requirements for a connector container is defined so that it can be used in a non-classic(Full) profile. For instance: Message Inflow, JSR 303 support is optional