This document discusses writing web service consumers and providers using the Apache Axis framework. It covers generating client-side code using WSDL2Java, writing simple providers using instant deployment, and more advanced custom deployment including generating WSDL files, server-side bindings, and deploying services. The document is a tutorial on the software environment, tools, and steps needed to consume, provide and publish web services with Axis.
SonarQube is an open-source platform that performs automatic code reviews through static analysis to detect bugs, vulnerabilities, and code smells in over 20 programming languages. It provides reports on code quality metrics like duplicated code, code coverage, complexity, and potential issues. SonarQube requires Java and supports analyzing code written in languages like Java, C#, JavaScript, and Python. The SonarScanner is used to analyze source code and generate reports in SonarQube. Quality Gates in SonarQube define thresholds for metrics that projects must meet, such as having no new blocker issues or code coverage above 80%.
02. egovFrame Development Environment workshop II en(nexus&ci)Chuong Nguyen
Ā
The document provides instructions for setting up a development environment using Nexus and Hudson (now Jenkins). It describes how to configure Nexus to store and share dependencies, apply Nexus to a project, and add third party libraries to Nexus. It then explains how to install Subversion for source control, share a project to the SVN server, and configure Hudson to continuously build and test the project on each code change using Maven. The goal is to set up a continuous integration system for automated testing and deployment of code changes.
Docker is a groundbreaking technology that will heavily influence how we will write software in the years to come: let's then have a look at:
* where it comes from (Linux Containers)
* how it works
* how to dockerize simple apps to easily deploy them on production
* how you can use Docker in local environments to simplify your development workflow
Do you like Vagrant, auto-scaling or 12-factor apps? Then get ready to be mindblown.
Build your own clouds with Chef and MCollectiveJonathan Weiss
Ā
One important part of the DevOps movement is infrastructure automation, especially if you are running your application on top of services like Amazon EC2.
Everybody's dream is to be able to bootstrap and deploy hundreds or even thousands of machines with a few simple commands. This talk will tell you how you can do this using Open Source tools like Chef and mcollective. Chef manages your servers configuration using a nice Ruby DSL while mcollective orchestrates and commands all your nodes.
This document discusses DevOps tools that can be used with the WebSphere Liberty Profile application server. It describes the Liberty Ant tasks, which are a collection of Ant tasks for server and application operations. It also covers the Liberty Maven plugin, which provides Maven goals for server and application operations. The document provides examples of using these tools for server start/stop/deploy operations. It then discusses how Jenkins can be used with Liberty, including running Jenkins on Liberty and the WebSphere Deployer plugin for Jenkins. Finally, it briefly mentions using Chef to configure Liberty servers.
Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having your CI tests running in the background while you work on new features? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily.
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
Ā
SurfaceFlinger is a vital system service in Android system, responsible for the composting all the application and system layer and displaying them. In this slide,we looked in detail how surfaceFlinger was designed from Design Pattern's perspective.
SonarQube is an open-source platform that performs automatic code reviews through static analysis to detect bugs, vulnerabilities, and code smells in over 20 programming languages. It provides reports on code quality metrics like duplicated code, code coverage, complexity, and potential issues. SonarQube requires Java and supports analyzing code written in languages like Java, C#, JavaScript, and Python. The SonarScanner is used to analyze source code and generate reports in SonarQube. Quality Gates in SonarQube define thresholds for metrics that projects must meet, such as having no new blocker issues or code coverage above 80%.
02. egovFrame Development Environment workshop II en(nexus&ci)Chuong Nguyen
Ā
The document provides instructions for setting up a development environment using Nexus and Hudson (now Jenkins). It describes how to configure Nexus to store and share dependencies, apply Nexus to a project, and add third party libraries to Nexus. It then explains how to install Subversion for source control, share a project to the SVN server, and configure Hudson to continuously build and test the project on each code change using Maven. The goal is to set up a continuous integration system for automated testing and deployment of code changes.
Docker is a groundbreaking technology that will heavily influence how we will write software in the years to come: let's then have a look at:
* where it comes from (Linux Containers)
* how it works
* how to dockerize simple apps to easily deploy them on production
* how you can use Docker in local environments to simplify your development workflow
Do you like Vagrant, auto-scaling or 12-factor apps? Then get ready to be mindblown.
Build your own clouds with Chef and MCollectiveJonathan Weiss
Ā
One important part of the DevOps movement is infrastructure automation, especially if you are running your application on top of services like Amazon EC2.
Everybody's dream is to be able to bootstrap and deploy hundreds or even thousands of machines with a few simple commands. This talk will tell you how you can do this using Open Source tools like Chef and mcollective. Chef manages your servers configuration using a nice Ruby DSL while mcollective orchestrates and commands all your nodes.
This document discusses DevOps tools that can be used with the WebSphere Liberty Profile application server. It describes the Liberty Ant tasks, which are a collection of Ant tasks for server and application operations. It also covers the Liberty Maven plugin, which provides Maven goals for server and application operations. The document provides examples of using these tools for server start/stop/deploy operations. It then discusses how Jenkins can be used with Liberty, including running Jenkins on Liberty and the WebSphere Deployer plugin for Jenkins. Finally, it briefly mentions using Chef to configure Liberty servers.
Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having your CI tests running in the background while you work on new features? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily.
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
Ā
SurfaceFlinger is a vital system service in Android system, responsible for the composting all the application and system layer and displaying them. In this slide,we looked in detail how surfaceFlinger was designed from Design Pattern's perspective.
Moving a Windows environment to the cloud - DevOps Galway MeetupGiulio Vian
Ā
This document provides an overview of moving a Windows environment to the cloud. It discusses initial considerations like infrastructure as a code (IaaS) and automation pillars for provisioning, configuration, and deployment. It also covers specific Azure technologies and considerations for subscriptions, resource groups, regions, and other unique aspects. Tips are provided for storage, bootstrapping, key vaults, Terraform, Desired State Configuration (DSC), and Azure DevOps Pipelines.
The document provides an overview of using JBoss Application Server to run Ruby on Rails applications. It discusses installing JRuby, Rails, the JBoss-Rails deployer and support libraries. These allow Rails applications to be deployed to JBoss and take advantage of features like JDBC database connectivity. Steps covered include creating a sample Rails application, setting up the database, deploying the application to JBoss using Rake tasks, and generating models. The goal is to demonstrate how to set up the necessary components and deploy a basic Rails application on JBoss Application Server.
Interested in learning how to set up a Kubernetes cluster and use automation to test and deploy an app?
During this presentation, Laura Frank will take a deep dive into CI/CD best practices with Kubernetes and Amazon EKS. You will be introduced to AmazonEKS, Amazonās Kubernetes service and CloudBees CodeShip, a flexible continuous integration (CI)/continuous delivery(CD) tool that runs your builds in the cloud. Designed with developers in mind, both EKS and CodeShip when used together reduce the complexity of running an app with Kubernetes.
Attend this webinar to learn:
- An overview of Amazon EKS
- How to set up your own CI/CD pipeline
- How to leverage CI/CD best practices with Kubernetes
This document provides a high-level overview of the Alfresco content management platform in 3 sentences: Alfresco is an open source enterprise content management platform that can manage files and metadata, provides search and security features, and includes a workflow engine and APIs to build custom applications. It discusses Alfresco's architecture, developer setup process, development model using APIs and extensions, and demos the platform's capabilities. The document is intended to introduce developers to building applications and customizing Alfresco.
The document provides instructions for configuring IBM WebSphere Application Server 6.1 for Web authentication with SAS 9.2 Web applications. The key steps include: 1) updating the login.config file to reference the web domain; 2) adding security constraints, authentication methods, and roles to the SAS Logon Manager application; 3) copying SAS JAR files; 4) modifying login module information in the WebSphere administrative console; 5) configuring the SAS Remote Services classpath; and 6) restarting services and verifying the configuration.
JBoss Application Server is an open source application server. It supports J2EE 1.3 technologies including EJB 2.0, JMS, JDBC, and more. JBoss installs easily and can be configured for clustering, web services, and CORBA integration. It uses Apache Tomcat as its web server and integrates the open source JBossMQ for JMS. Default topics, queues, and a Hypersonic database are provided for testing and development.
The document provides an overview of getting started with JBoss Application Server 7, including downloading, installing, exploring the directory structure, starting the server, and managing it. Key points covered include downloading the distribution, a tour of the directory structure and configuration files, how to start the server in standalone and domain modes, and how to authenticate and use the administration console and CLI to manage the running server.
Sql server 2012 ha and dr sql saturday bostonJoseph D'Antoni
Ā
This document summarizes a presentation about SQL Server 2012 high availability and disaster recovery options. It discusses key disaster recovery terms like RTO and RPO. It then reviews several high availability and disaster recovery solutions for SQL Server including log shipping, database mirroring, failover clustering, replication, and AlwaysOn availability groups. For each solution, it discusses requirements, pros, cons and how they work at a high level. The document concludes by noting some new features for clustering in SQL Server 2012.
Microservices and containers for the unitiatedKevin Lee
Ā
In this presentation I provide a high level explanation of why applications are now being developed using in a Microservice architecture. I look at how Microservice applications are typically developed and deployed using container technology and look at some of the challenges of using container technology for applications in production.
(ATS4-APP03) Top 10 things every Notebook administrator should knowBIOVIA
Ā
Attend this session to learn Symyx Notebook administrator tips and tricks provided by Accelrys testing and support teams. Time will be provided for questions and to share customer tips and tricks.
This document discusses advanced uses of SVN (Subversion) in the life cycle of web projects. It emphasizes using SVN to standardize workflows, automate tasks like deployments and releases, and separate roles and access within development teams. Fine-grained access control and separate production branches can improve security. Helper scripts can automate common tasks to avoid errors and increase software lifetime and maintainability.
Sql Server 2012 HA and DR -- SQL Saturday RichmondJoseph D'Antoni
Ā
The document discusses various strategies for achieving high availability and disaster recovery in SQL Server 2012, including log shipping, database mirroring, failover cluster instances, replication, and AlwaysOn availability groups. It provides an overview of each technology and their pros and cons for maintaining continuous access to database systems and protecting against data loss from hardware or site failures. Resources are also listed for attendees to learn more about high availability and disaster recovery options in SQL Server.
JRuby on Rails Deployment: What They Didn't Tell Youelliando dias
Ā
This document summarizes a presentation on deploying JRuby on Rails applications. It discusses:
1) The mechanics of running Rails applications on JRuby and the Java virtual machine, including concurrency and threading considerations.
2) Preparations for deployment such as installing necessary gems, configuring databases, and examining dependencies.
3) Packaging applications into WAR files using the Warbler gem and configuring settings like the runtime pool size.
4) Additional post-deployment considerations for logging, sessions, caching, and performance.
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
Ā
This document discusses running Java EE 6 applications in the cloud. It provides an overview of Java EE 6 and demonstrates how to deploy Java EE 6 applications on various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. The document also discusses the Java EE 7 specification and upcoming GlassFish Server distributions.
This document summarizes a presentation about SQL Server 2012 high availability and disaster recovery options. It discusses key concepts like RTO, RPO and risk management. It then reviews various SQL Server high availability and disaster recovery technologies like log shipping, database mirroring, failover clustering, replication, and AlwaysOn availability groups. It also covers new features in SQL Server 2012 like availability groups and Windows Server 2012 cluster-aware updating. The presentation concludes with a discussion of contacting the presenter for additional resources.
This document summarizes a presentation about SQL Server 2012 high availability and disaster recovery options. It discusses key disaster recovery terms, how to approach risk management, and different SQL Server high availability and disaster recovery solutions like log shipping, replication, failover clustering, and AlwaysOn availability groups. It also covers new features in SQL Server 2012 and Windows Server 2012 that improve high availability and disaster recovery capabilities.
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...BIOVIA
Ā
This session will cover tips and tricks to help you install or upgrade Symyx Notebook by Accelrys efficiently, quickly and successfully. Learn about the best practices to install the Accelrys Vault Server Database Tier, prepare the Accelrys Vault Server Middle Tier and deploy Symyx Notebook on the Client Tier so that your end-users can start using the new features in Symyx Notebook as quickly as possible.
This document discusses techniques for troubleshooting issues with Red Hat JBoss EAP 6. It covers generating thread dumps, heap dumps, and log files to analyze where threads are stuck or understand memory usage. The JBoss Diagnostic Reporter (JDR) subsystem can collect troubleshooting information. Byteman allows inserting extra Java code into applications to aid debugging. The log subsystem level and GC logging can be configured for additional troubleshooting data in log files.
The document lists various Java libraries that are used by JasperReports. It provides descriptions for libraries such as ANTLR, which is a language tool for constructing recognizers, interpreters, compilers and translators from grammatical descriptions. It also describes libraries like Batik, which is a Java toolkit for applications that want to use SVG images, and BeanShell, which is an embeddable Java source interpreter that extends Java with scripting features. The document provides URLs and brief descriptions for over 20 different libraries.
How to generate a rest application - DevFest Vienna 2016johannes_fiala
Ā
Demo of Swagger-Codegen CXF server stub generator including coverage of the Swagger-Toolchain (Swagger-UI/Swagger-Editor/Swagger2Markup) and demo of how to customize a language in Swagger-Codegen
@DevFest Vienna 2016
Maven and Ant are both build tools for Java projects. Maven uses a project object model (POM) file that defines project dependencies, plugins, and other metadata. It handles tasks like compiling code, running tests, packaging artifacts, and publishing releases. Ant relies on XML configuration files and custom scripts but has less built-in functionality than Maven. Both tools aim to standardize builds and manage dependencies, but Maven's conventions make it generally preferable for new projects.
Moving a Windows environment to the cloud - DevOps Galway MeetupGiulio Vian
Ā
This document provides an overview of moving a Windows environment to the cloud. It discusses initial considerations like infrastructure as a code (IaaS) and automation pillars for provisioning, configuration, and deployment. It also covers specific Azure technologies and considerations for subscriptions, resource groups, regions, and other unique aspects. Tips are provided for storage, bootstrapping, key vaults, Terraform, Desired State Configuration (DSC), and Azure DevOps Pipelines.
The document provides an overview of using JBoss Application Server to run Ruby on Rails applications. It discusses installing JRuby, Rails, the JBoss-Rails deployer and support libraries. These allow Rails applications to be deployed to JBoss and take advantage of features like JDBC database connectivity. Steps covered include creating a sample Rails application, setting up the database, deploying the application to JBoss using Rake tasks, and generating models. The goal is to demonstrate how to set up the necessary components and deploy a basic Rails application on JBoss Application Server.
Interested in learning how to set up a Kubernetes cluster and use automation to test and deploy an app?
During this presentation, Laura Frank will take a deep dive into CI/CD best practices with Kubernetes and Amazon EKS. You will be introduced to AmazonEKS, Amazonās Kubernetes service and CloudBees CodeShip, a flexible continuous integration (CI)/continuous delivery(CD) tool that runs your builds in the cloud. Designed with developers in mind, both EKS and CodeShip when used together reduce the complexity of running an app with Kubernetes.
Attend this webinar to learn:
- An overview of Amazon EKS
- How to set up your own CI/CD pipeline
- How to leverage CI/CD best practices with Kubernetes
This document provides a high-level overview of the Alfresco content management platform in 3 sentences: Alfresco is an open source enterprise content management platform that can manage files and metadata, provides search and security features, and includes a workflow engine and APIs to build custom applications. It discusses Alfresco's architecture, developer setup process, development model using APIs and extensions, and demos the platform's capabilities. The document is intended to introduce developers to building applications and customizing Alfresco.
The document provides instructions for configuring IBM WebSphere Application Server 6.1 for Web authentication with SAS 9.2 Web applications. The key steps include: 1) updating the login.config file to reference the web domain; 2) adding security constraints, authentication methods, and roles to the SAS Logon Manager application; 3) copying SAS JAR files; 4) modifying login module information in the WebSphere administrative console; 5) configuring the SAS Remote Services classpath; and 6) restarting services and verifying the configuration.
JBoss Application Server is an open source application server. It supports J2EE 1.3 technologies including EJB 2.0, JMS, JDBC, and more. JBoss installs easily and can be configured for clustering, web services, and CORBA integration. It uses Apache Tomcat as its web server and integrates the open source JBossMQ for JMS. Default topics, queues, and a Hypersonic database are provided for testing and development.
The document provides an overview of getting started with JBoss Application Server 7, including downloading, installing, exploring the directory structure, starting the server, and managing it. Key points covered include downloading the distribution, a tour of the directory structure and configuration files, how to start the server in standalone and domain modes, and how to authenticate and use the administration console and CLI to manage the running server.
Sql server 2012 ha and dr sql saturday bostonJoseph D'Antoni
Ā
This document summarizes a presentation about SQL Server 2012 high availability and disaster recovery options. It discusses key disaster recovery terms like RTO and RPO. It then reviews several high availability and disaster recovery solutions for SQL Server including log shipping, database mirroring, failover clustering, replication, and AlwaysOn availability groups. For each solution, it discusses requirements, pros, cons and how they work at a high level. The document concludes by noting some new features for clustering in SQL Server 2012.
Microservices and containers for the unitiatedKevin Lee
Ā
In this presentation I provide a high level explanation of why applications are now being developed using in a Microservice architecture. I look at how Microservice applications are typically developed and deployed using container technology and look at some of the challenges of using container technology for applications in production.
(ATS4-APP03) Top 10 things every Notebook administrator should knowBIOVIA
Ā
Attend this session to learn Symyx Notebook administrator tips and tricks provided by Accelrys testing and support teams. Time will be provided for questions and to share customer tips and tricks.
This document discusses advanced uses of SVN (Subversion) in the life cycle of web projects. It emphasizes using SVN to standardize workflows, automate tasks like deployments and releases, and separate roles and access within development teams. Fine-grained access control and separate production branches can improve security. Helper scripts can automate common tasks to avoid errors and increase software lifetime and maintainability.
Sql Server 2012 HA and DR -- SQL Saturday RichmondJoseph D'Antoni
Ā
The document discusses various strategies for achieving high availability and disaster recovery in SQL Server 2012, including log shipping, database mirroring, failover cluster instances, replication, and AlwaysOn availability groups. It provides an overview of each technology and their pros and cons for maintaining continuous access to database systems and protecting against data loss from hardware or site failures. Resources are also listed for attendees to learn more about high availability and disaster recovery options in SQL Server.
JRuby on Rails Deployment: What They Didn't Tell Youelliando dias
Ā
This document summarizes a presentation on deploying JRuby on Rails applications. It discusses:
1) The mechanics of running Rails applications on JRuby and the Java virtual machine, including concurrency and threading considerations.
2) Preparations for deployment such as installing necessary gems, configuring databases, and examining dependencies.
3) Packaging applications into WAR files using the Warbler gem and configuring settings like the runtime pool size.
4) Additional post-deployment considerations for logging, sessions, caching, and performance.
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
Ā
This document discusses running Java EE 6 applications in the cloud. It provides an overview of Java EE 6 and demonstrates how to deploy Java EE 6 applications on various cloud platforms including Amazon Web Services, RightScale, Microsoft Azure, and Joyent. The document also discusses the Java EE 7 specification and upcoming GlassFish Server distributions.
This document summarizes a presentation about SQL Server 2012 high availability and disaster recovery options. It discusses key concepts like RTO, RPO and risk management. It then reviews various SQL Server high availability and disaster recovery technologies like log shipping, database mirroring, failover clustering, replication, and AlwaysOn availability groups. It also covers new features in SQL Server 2012 like availability groups and Windows Server 2012 cluster-aware updating. The presentation concludes with a discussion of contacting the presenter for additional resources.
This document summarizes a presentation about SQL Server 2012 high availability and disaster recovery options. It discusses key disaster recovery terms, how to approach risk management, and different SQL Server high availability and disaster recovery solutions like log shipping, replication, failover clustering, and AlwaysOn availability groups. It also covers new features in SQL Server 2012 and Windows Server 2012 that improve high availability and disaster recovery capabilities.
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...BIOVIA
Ā
This session will cover tips and tricks to help you install or upgrade Symyx Notebook by Accelrys efficiently, quickly and successfully. Learn about the best practices to install the Accelrys Vault Server Database Tier, prepare the Accelrys Vault Server Middle Tier and deploy Symyx Notebook on the Client Tier so that your end-users can start using the new features in Symyx Notebook as quickly as possible.
This document discusses techniques for troubleshooting issues with Red Hat JBoss EAP 6. It covers generating thread dumps, heap dumps, and log files to analyze where threads are stuck or understand memory usage. The JBoss Diagnostic Reporter (JDR) subsystem can collect troubleshooting information. Byteman allows inserting extra Java code into applications to aid debugging. The log subsystem level and GC logging can be configured for additional troubleshooting data in log files.
The document lists various Java libraries that are used by JasperReports. It provides descriptions for libraries such as ANTLR, which is a language tool for constructing recognizers, interpreters, compilers and translators from grammatical descriptions. It also describes libraries like Batik, which is a Java toolkit for applications that want to use SVG images, and BeanShell, which is an embeddable Java source interpreter that extends Java with scripting features. The document provides URLs and brief descriptions for over 20 different libraries.
How to generate a rest application - DevFest Vienna 2016johannes_fiala
Ā
Demo of Swagger-Codegen CXF server stub generator including coverage of the Swagger-Toolchain (Swagger-UI/Swagger-Editor/Swagger2Markup) and demo of how to customize a language in Swagger-Codegen
@DevFest Vienna 2016
Maven and Ant are both build tools for Java projects. Maven uses a project object model (POM) file that defines project dependencies, plugins, and other metadata. It handles tasks like compiling code, running tests, packaging artifacts, and publishing releases. Ant relies on XML configuration files and custom scripts but has less built-in functionality than Maven. Both tools aim to standardize builds and manage dependencies, but Maven's conventions make it generally preferable for new projects.
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Amazon Web Services
Ā
In this session, we introduce you to a solution for easily running a Docker-powered microservices architecture on AWS using Elastic Beanstalk. We will also cover the fundamentals of Elastic Beanstalk and how it benefits developers looking for a quick and scalable way to get their applications running on AWS with no infrastructure work required.
Building a microservices architecture using Docker can require a lot of work, from launching and operating the underlying infrastructure to installing and maintaining cluster management software. With AWS Elastic Beanstalkās multicontainer support feature, many of these tasks are simplified and abstracted away so you can focus on your application code. AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker."
Learning Objectives:
ā¢ Learn the basics of AWS Elastic Beanstalk
ā¢ Understand how to use Elastic Beanstalk to run containerized applications
ā¢ Learn how to use Elastic Beanstalk to start architecting microservices-based applications
This document is a seminar report on Java Core submitted by Ankit Chauhan to the Department of Electronics and Communication Engineering at IEC College of Engineering and Technology. It contains 15 topics on Java including an introduction to Java, the Java platform, installing Java, writing and running a Java program, packages, classes and objects, inheritance, variables and methods, modifiers and import statements, interfaces, working with classes, IDEs, and the history and features of Java.
Jcon 2017 How to use Swagger to develop REST applicationsjohannes_fiala
Ā
Demo of the Swagger toolchain (Swagger Editor, Eclipse KaiZen Plugin, Swagger-Codegen server/client generator, Swagger2Markup) all with Apache CXF3 + Spring Boot integration
This document provides an introduction to Java programming, covering topics such as its origins, key features like being simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, and dynamic. It also discusses how to program in Java, including the Java platform which consists of the Java Virtual Machine and Java Application Programming Interface, and different types of programs like applets, applications, and servlets.
Docker is an open platform for developing, shipping, and running applications. It allows developers to package applications with all their dependencies into standardized executable units called containers that can run on any Linux server. Containers provide faster delivery of applications, easier deployment and scaling, and higher density by running more workloads on a single machine compared to traditional virtual machines. Docker uses a layered filesystem and images to create lightweight containers that share resources and isolate processes. Common tools used with Docker include Docker Engine, Docker Compose, Docker Machine, and Docker Swarm.
The document discusses the various libraries that JasperReports relies on or integrates with. It provides brief 1-2 sentence descriptions of over 20 libraries including ANT, ANTLR, Batik, BCEL, Beanshell, Commons Collections, Digester, Log4j, POI, Spring, Xalan and Xerces. These libraries provide functionality like build automation, parsing, SVG processing, bytecode manipulation, collections, XML processing and logging that enhance the capabilities of JasperReports.
Java is a general-purpose, concurrent, class-based and object-oriented programming language designed to have few implementation dependencies so code can run on any platform. It derives syntax from C and C++ but has fewer low-level facilities. The original implementation was developed by Sun Microsystems and released in 1995. The goal was for Java to be platform-neutral so code could run on any system. To execute Java code, it is first compiled to bytecode, then the bytecode is verified and translated to machine code by the Java Virtual Machine before execution. JDBC provides a standard API for connecting to databases and executing SQL statements.
This document provides an introduction to the Java programming language. It discusses the evolution of Java from its origins at Sun Microsystems in the 1990s as a portable language for devices. Key points include Java's use of bytecode and just-in-time compilation for portability across platforms, its object-oriented features inspired by Smalltalk, and its role in enabling dynamic content on the World Wide Web. The document also outlines Java's core concepts like the Java Virtual Machine, class files, and garbage collection that allow programs to run on any system with a JVM.
Java Evolution
Java was originally developed by Sun Microsystems in 1991 under the name Oak as a language for programming consumer electronics. It was later renamed to Java and became best known as a language for developing applications and applets to run on web browsers over the Internet. Key features of Java include being platform-independent, object-oriented, robust, secure, and having a rich class library. Java applications are compiled to bytecode that runs on a Java Virtual Machine, allowing them to run on any platform that supports Java.
Java Evolution
Java was originally developed by Sun Microsystems in 1991 under the name Oak as a language for programming consumer electronics. It was later renamed to Java and became widely used for internet programming due to its ability to write applications that can run on any platform. Key features of Java include being object-oriented, platform independent, secure, robust, and having a rich class library. Java applications can be standalone programs or applets embedded in web pages. The Java compiler generates bytecode that is executed by a Java Virtual Machine, allowing Java programs to run on any system with a JVM.
This document discusses using Docker to deploy a multi-container web application stack. It first describes using Docker Compose to define and run the application services together. It then details the configuration of an Nginx proxy container, application services like PHP, MySQL, and Redis, and supporting containers for log rotation. Finally, it explains how to set up additional application instances by replicating the stack configuration.
The document discusses Rohit Yadav and his work with Apache CloudStack. It provides an agenda for understanding CloudStack internals, including getting started as a user or developer, a guided tour of the codebase, common development patterns, and deep dives into key areas like system VMs, networking implementation, and plugins. The document outlines ways to join the CloudStack community and how to contribute code through GitHub pull requests.
In this session, we introduce you to a solution for easily running a Docker-powered microservices architecture on AWS using Elastic Beanstalk. We will also cover the fundamentals of Elastic Beanstalk and how it benefits developers looking for a quick and scalable way to get their applications running on AWS with no infrastructure work required. In the second half of the session Sean OāBrien, engineer at Prezi, will share how Prezi is using Elastic Beanstalk to build microservices for its entire development team.
Building a microservices architecture using Docker can require a lot of work, from launching and operating the underlying infrastructure to installing and maintaining cluster management software. With AWS Elastic Beanstalkās multicontainer support feature, many of these tasks are simplified and abstracted away so you can focus on your application code. AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker. Elastic Beanstalk leverages Amazon EC2 Container Service for its container management capabilities.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Adhiraj Singh, Sr. Product Manager
Ibm web sphere application server interview questionspraveen_guda
Ā
WebSphere Application Server is an application server that provides runtime environments for Java EE applications. It allows deploying, configuring, and managing applications. A profile defines the runtime environment and includes files processed at runtime. Profiles can be created using command line or GUI tools and include Deployment Manager profiles, Application Server profiles, and custom profiles.
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...Amazon Web Services
Ā
In this session, we will review ways to manage the lifecycle of your dev, test, and production infrastructure using CloudFormation. Learn how to architect your infrastructure through loosely coupled stacks using cross-stack references, tightly coupled nested stacks and other best practices. Learn how to use CloudFormation to provision and manage a continuous deployment pipeline for your infrastructure-as-code. Automate deployment of new development environments as your infrastructure evolves, promote your new architecture for testing, and deploy changes to production.
Vagrant is a tool for building and managing virtual machine environments. It allows users to create and configure VMs, provision them with automation scripts, and collaborate by sharing the same development environment. Using Vagrant provides benefits like isolation, repeatability, and testing DevOps scripts locally. It also encourages DevOps practices by allowing developers to develop and test infrastructure code in a VM similarly to production.
Similar to Consuming, providing and publishing Web Services (20)
This document discusses advanced issues and future trends in web services. It covers the UDDI programmatic interface using UDDI4J, web service security basics and the WS-Security roadmap. It also discusses current work in areas like WS-ReliableMessaging and WS-Coordination for introducing transactions. Finally, it mentions future uses of web services on the grid.
The document provides an introduction to web services and related standards. It discusses:
1) Fundamental concepts of web services including definitions, architectures, and an e-science example.
2) Related standards including XML, SOAP, and WSDL. XML is described as the foundation for structuring data in web services.
3) Other topics covered include XML namespaces for resolving naming collisions, XML schema for defining valid document structures, and SOAP for defining the unit of communication in web services.
The document discusses 7 sins of software engineers in high energy physics (HEP) projects. It describes each sin with an observation, problem it causes, and proposed solution. The sins are: being too reliant on tools, writing code before designing, flawed processes, reinventing wheels, making software functional but not usable, documentation paralysis, and resistance to change. The document advocates automating work, designing before coding, minimal necessary processes, reusing code, prioritizing usability, automatically generating documentation, and adapting to change.
Secure Compilation of a Multi-Tier Web Language (Semantics Lunch)Ioannis Baltopoulos
Ā
The document discusses a talk on secure compilation of the Links multi-tier web programming language. It begins with an overview of issues with web programming languages like impedance mismatch between tiers and difficulties with security reviews. It then discusses how multi-tier languages can provide a solution and the principle of source-based reasoning for security. The talk focuses on allowing security reasoning at the source level for Links programs and proposes applying authenticated encryption to closures to address security issues arising from untrusted clients.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
Ā
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
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.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
Ā
An English š¬š§ translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech šØšæ version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
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!
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
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. š This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. š»
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. š„ļø
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. š
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 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
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
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
Ā
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ā
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
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.
Ivantiās Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There weāll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Ā
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether youāre at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. Weāll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
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.
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.
Building Production Ready Search Pipelines with Spark and Milvus
Ā
Consuming, providing and publishing Web Services
1. The Software Environment
Writing WS Consumers
Writing WS Providers
Consuming, Providing & Publishing WS
Ioannis G. Baltopoulos
Department of Computer Science
Imperial College London
Inverted CERN School of Computing, 2005
Geneva, Switzerland
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
2. The Software Environment
Writing WS Consumers
Writing WS Providers
The Software Environment
1
The tools
Apache Axis
Writing WS Consumers
2
Using WSDL2Java
Writing WS Providers
3
Using Java2WSDL
UDDI Overview
Publishing Services on UDDI
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
3. The Software Environment
The tools
Writing WS Consumers
Apache Axis
Writing WS Providers
The Software Environment
For this tutorial we are going to use the following software
environment.
Java
Producers and Consumers will be based on Java version 1.4.2.
Eclipse
THE IDE for writing Java code. Version used is 3.1M4
Ant
Build tool used for automating the development process.
Tomcat
The Web Application container hosting the WS.
Axis
An open source WS implementation for Java; currently in
version 1.2RC2.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
4. The Software Environment
The tools
Writing WS Consumers
Apache Axis
Writing WS Providers
Apache Tomcat (5.0.28)
Installation and Notes
Web Site
http://jakarta.apache.org/tomcat/
Step by step installation
Download the required ļ¬le from
1
http://jakarta.apache.org/site/binindex.cgi#tomcat
Extract the downloaded ļ¬le in a directory of your choice.
2
Start the server from tomcat/bin/startup
3
Validate installation by going to http://localhost:8080/
4
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
5. The Software Environment
The tools
Writing WS Consumers
Apache Axis
Writing WS Providers
Apache Axis
Installation and Notes
Web Site
http://ws.apache.org/axis/
Step by step installation
Download the required ļ¬le from
1
http://ws.apache.org/axis/releases.html
Extract the downloaded ļ¬le in a directory of your choice.
2
Copy the axis/webapps directory to tomcat/webapps.
3
Restart the web server.
4
Validate installation by going to
5
http://localhost:8080/axis/happyaxis.jsp
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
6. The Software Environment
The tools
Writing WS Consumers
Apache Axis
Writing WS Providers
Apache Axis
The Purpose of the Application
Deļ¬nition
Axis is the means by which SOAP messages are taken from the
transport layer and are handed to the Web Service and the means
by which any response is formatted in SOAP messages and sent
back to the requester.
Structure of a Webapp
It is in itself a web application.
ROOT
Comes with many useful tools
WEB-INF
Java2WSDL
classes
WSDL2Java
lib
Administration Client
web.xml
TCP Monitor
SOAP Monitor server-config.wsdd
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
7. The Software Environment
The tools
Writing WS Consumers
Apache Axis
Writing WS Providers
Apache Axis
Architectural Components
Axis Engine - The main entry point into the SOAP processor
Handlers - The basic building blocks inside Axis that link
Axis to existing back-end systems
Chain - An ordered collection of handlers
Transports - Mechanisms by which SOAP messages ļ¬ow in
and out of Axis
Deployment/Conļ¬guration - Means through which Web
Services are made available through Axis
Serializers/Deserializers - Code that will convert native
datatypes into XML and back.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
8. The Software Environment
The tools
Writing WS Consumers
Apache Axis
Writing WS Providers
Axis Architectural Diagram
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
9. The Software Environment
Writing WS Consumers Using WSDL2Java
Writing WS Providers
WS Consumers
The process of writing a consumer
Locate the wsdl ļ¬le for the service youāre interested in.
Use WSDL2Java to generate the stub classes.
Writing the actual client code.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
10. The Software Environment
Writing WS Consumers Using WSDL2Java
Writing WS Providers
WSDL2Java
Command line and options
A tool for generating glue code in writing consumers and providers.
Command Line
java org.apache.axis.wsdl.WSDL2Java wsdl-file
Options NOTE
Used to specify the The following ļ¬les must
-o directory
output directory be on the CLASSPATH.
axis.jar
Package speciļ¬cation
-p package
commons-discovery.jar
for the output ļ¬les
commons-logging.jar
Verbose output
-v
jaxrpc.jar
Generate test ļ¬les
-t
saaj.jar
Generate server side
-s
wsdl4j.jar
code
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
11. The Software Environment
Writing WS Consumers Using WSDL2Java
Writing WS Providers
Example Usage
Using a public weather web service
Capeclear oļ¬ers a public weather service where given the location
code of an airport (āLHRā,āLGWā, etc) it returns a complete
weather report including temperature, humidity, wind direction.
Example
WSDL2Java.bat
http://live.capescience.com/wsdl/GlobalWeather.wsdl
-o %PROJECT BASE%srcjava
-p ch.cern.it.csc
-v
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
12. The Software Environment
Writing WS Consumers Using WSDL2Java
Writing WS Providers
Generated Files
What gets generated from the WSDL ļ¬le
WSDL clause Java class(es) generated
For each <type> A java class.
A holder if this type is used as an in-
out/out parameter
For each <portType> A java interface
For each <binding> A stub class
For each <service> A service interface.
A service implementation (locator)
For each <binding> A skeleton class
An implementation template class
For all <services> One deploy.wsdd ļ¬le
One undeploy.wsdd ļ¬le
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
13. The Software Environment
Writing WS Consumers Using WSDL2Java
Writing WS Providers
Generated Files
Relationship & Location of generated ļ¬les
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
14. The Software Environment
Writing WS Consumers Using WSDL2Java
Writing WS Providers
Client Code Example
Tying all the generated ļ¬les together!
Example
import java.rmi.RemoteException;
public class Client {
public static void main(String[] args) {
ServiceLocator locator = new ServiceLocator();
ServicePort service = locator.getService();
try {
Report report = service.getReport(quot;Statusquot;);
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
15. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Writing Providers
The two approaches
Instant Deployment
Very simple way of providing a Web Service
Customized Deployment
More elaborate
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
16. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Instant Deployment
Step by step
Copy any Java source ļ¬le that implements a web service into
1
the axis directory
no special code is required
all public, non-static methods are exposed
if the class is in a package, copy it to the appropriate
subdirectory
Change the ļ¬le extension from .java to .jws
2
Place all related .class ļ¬les under WEB-INF/classes
3
View the WSDL of a JWS web service using the following
4
URL in a web browser
http://host:port/axis/filename.jws?wsdl
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
17. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Example
An example using Instant Deployment
A very simple banking web service. The bank allows the following
four operations
Create an Account
Get the balance of an Account
Withdraw a given amount from an Account
Deposit a given amount to an Account
To implement it we will use two basic classes
A class Account
A BankingService class
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
18. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
The Account class
public class Account {
private String number;
private String owner;
private double balance;
public void withdraw(double amount) {
balance -= amount;
}
public void deposit(double amount) {
balance += amount;
}
public double getBalance() {
return balance;
}
}
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
19. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
The BankingService class
public class BankingService {
public void withraw(Account ac, double amount) {
ac.withdraw(amount);
}
public void deposit(Account ac, double amount) {
ac.deposit(amount);
}
public Account createAccount(String owner) {
return new Account();
}
public double getBalance(Account ac) {
return ac.getBalance();
}
}
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
20. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
The Result
A trivial banking service
Step by step
Weāve written the code.
1
Copy the BankingService ļ¬le under axis.
2
Change the ļ¬le extension from .java to .jws
3
Compile and copy the Account.class ļ¬le under
4
WEB-INF/classes
View the WSDL of the Banking Service using the following
5
URL in a web browser
http://host:8080/axis/BankingService.jws?wsdl
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
21. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Limitations
The limitations of using instant deployment
The use of instant deployment is only intended for simple web
services. Here are some reasons why this is so
You cannot use packages in the pages
As the code is compiled at run time you can not ļ¬nd out
about errors until after deployment.
There is limited control over the serialization/deserialization
process.
The actual source code is placed on the web server
Sometimes the source code is not available
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
22. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Using Custom Deployment
The process of creating a Web Service
Step by step
Write a Facade interface the subsystem you want to expose as
1
a Web Service.
Create a WSDL ļ¬le either manually or by using the
2
Java2WSDL tool that comes with Axis.
Create Bindings using the WSDL2Java tool making sure to
3
activate the options for emitting server side code as well as
deployment descriptors.
Package all the ļ¬les in a .jar ļ¬le
4
Copy the ļ¬le to the WEB-INF/lib
5
Use the AdminClient tool to deploy the Web Services to Axis.
6
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
23. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Java2WSDL
Command line and options
A tool for generating a WSDL ļ¬le from existing Java code
Command Line
java org.apache.axis.wsdl.Java2WSDL wsdl-file
Options
Speciļ¬es the output ļ¬lename
-o filename
Speciļ¬es the URI of the service
-l uri
Target namespace of the wsdl
-n namespace
Generate test ļ¬les
-p package namespace
Verbose output
-v
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
24. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Generate Server Side Bindings
Using WSDL2Java
The next step in the process is generating the server side bindings
and the deployment descriptors (deploy.wsdd, undeploy.wsdd).
Run the WSDL2Java tool using the -s and -S options (see
earlier slides for consumer generation).
Discard the client speciļ¬c ļ¬les
Package all the .class ļ¬les in a .jar ļ¬le. Use
jar cvf filename.jar file(s)
Copy the generated ļ¬le into the WEB-INF/lib directory.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
25. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Service Deployment
Using the AdminClient tool and the .wsdd ļ¬les
Deployment Descriptor Files
End with .wsdd (usually named deploy.wsdd and
undeploy.wsdd)
Speciļ¬es Axis components to be deployed or undeployed
Speciļ¬es special type mappings between XML and Java
Command Line
java org.apache.axis.client.AdminClient filename.wsdd
Options
Speciļ¬es the host
-h host
Speciļ¬es the port
-p port
Sets the path to the Axis Servlet
-s servletPath
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
26. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Web Services at CERN
How to structure your projects
The structure of a new Web
Services project is exactly the Structure of a Webapp
same as a Web Application. ROOT
To start, you can copy the axis WEB-INF
web application to your classes
workspace, lib
web.xml
remove the axis-speciļ¬c ļ¬les
server-config.wsdd
and you have an empty Web
Services project!
NOTE: The server-conļ¬g.wsdd ļ¬le was extracted from the
axis.jar. This is the ļ¬le that needs to be updated with the contents
of deploy.wsdd.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
27. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Web Services at CERN
Where and how to deploy them
Step by step deployment
Edit the server-config.wsdd ļ¬le and copy the contents of
1
the deploy.wsdd ļ¬le that was created by WSDL2Java.
Edit the web.xml ļ¬le so that it reļ¬ects the name of your
2
application and the URL you want to use.
Pack application in a .war ļ¬le using the following command:
3
jar cvf filename.jar file(s)
Go to the URL:
4
http://lxb0752.cern.ch/jps
Point ļ¬le ļ¬eld to your .war ļ¬le and youāre done!
5
For more information about this speciļ¬c service talk to Michal Kwiatek.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
28. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
UDDI Overview
Universal Description, Discovery and Integration (UDDI)
Deļ¬nition
UDDI is a speciļ¬cation for creating distributed Web-based
registries of Web services. It deļ¬nes
A UDDI registry which stores information on businesses, the
services oļ¬ered by these businesses, and technical information
about these services.
The data model and programming API that provides a way
to publish and locate all kinds of services.
Speciļ¬cally, UDDI is said to support three kinds of registry data
White Pages (organizing businesses by name)
Yellow Pages (organizing businesses by category)
Green Pages (organizing businesses by service)
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
29. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
The Colored Papers
White, yellow and green pages
White Pages
Yellow Pages
They contain information on a
Yellow pages contain categorized
business itself, including
information about the services
A name, provided by a business.
Contact details Categorization is done by
assigning one or more
Location of the business
taxonomies to the business.
Unique identiļ¬ers
Green Pages
Green pages contain technical information about a service which a
business oļ¬ers. You can ļ¬nd information like
Service location
the category to which this service belongs
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
30. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
UDDI Data structures
Specifying entries in the Registry
UDDI deļ¬nes ļ¬ve data type structures to specify an entry in the
registry. Each of these data structures is represented by an XML
document, containing both technical and descriptive information.
These are:
<businessEntity>
<businessService>
<bindingTemplate>
<tModel>
<publisherAssertion>
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
31. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Data Structure Details I
<businessEntity>
The businessEntity structure contains all descriptive information
about the business and the services it oļ¬ers. Information includes
name and description of the business as well as contact
information, categorization, and relationships to other businesses.
This structure can be seen as the top-level structure of the service
in the registry.
<businessService>
Each businessEntity structure contains one or more businessService
structures. A businessService structure describes a categorized set
of services a business oļ¬ers. A businessService element is not
owned by one businessEntity element, but can be shared among
multiple businesses.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
32. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Data Structure Details II
<bindingTemplate>
The bindingTemplate structure contains a technical description of
a service. Each bindingTemplate belongs to a single
businessService element.
<tModel>
One of the key elements of UDDI is the tModel. A tModel
describes the speciļ¬cation, the behavior, the concept, or even the
shared design to which a service complies. It provides speciļ¬c
information about how to interact with this service. The content
of a tModel structure consists of a key, a name, an optional
description, and a URL element. The URL, in most cases, points
to a location where you can ļ¬nd more information about this
particular tModel. Two conventions have been applied for using
tModels.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
33. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Data Structure Details III
<publisherAssertion>
The publisherAssertion structure contains information about a
relationship between two parties asserted by one or both. Many
businesses, such as large corporations or marketplaces, are not
eļ¬ectively represented by a single businessEntity. A
publisherAssertion can be used to denote the relationship between
the businesses. The content of a publisherAssertion structure
consists of a key (fromKey) for the ļ¬rst business, a key (toKey) of
the second business, and a reference (keyedReference) that
designates the asserted relationship in terms of a keyName,
keyValue pair within a tModel.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
34. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Publishing Services on UDDI
The manual way of doing things
Step by step installation
Logon to http://www.uddi.org/
1
Select a registry from IBM, Microsoft, SAP or NTT
2
Obtain login and password
3
Follow the step by step instructions on the website
4
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS
35. The Software Environment Using Java2WSDL
Writing WS Consumers UDDI Overview
Writing WS Providers Publishing Services on UDDI
Concluding Remarks
In this lecture we saw
the software environment for developing and deploying Web
Services in Java
how to write Web Service consumers
how to write Web Service providers using instant and custom
deployment deployment.
what UDDI is and how to manually publish Web Services to
the Registry.
Ioannis G. Baltopoulos Consuming, Providing & Publishing WS