The document discusses Java development environments for Domino, including embedded applets, JavaScript, the Domino toolkit for Java/CORBA, and Harmony for Domino EJB. It also covers what to expect in Domino 6, including better integration with J2EE and Websphere. Examples provided include help desk, web services, and spam filter applications. Sites for additional information are listed at the end.
Java is an object-oriented programming language that is platform independent. It was developed by Sun Microsystems, now owned by Oracle. Java code is compiled into bytecode that runs on a Java Virtual Machine (JVM), allowing it to run on any device with a JVM. Java supports features like inheritance, polymorphism, and encapsulation. It is widely used for client-side applications like applets and server-side applications like servlets and Java Server Pages (JSP). The main Java editions are Java SE for desktop applications, Java EE for enterprise applications, and Java ME for mobile applications.
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
Join us as we "reveal" the new LotusScript and Java editing capabilities in Lotus Designer 8.5.1. You'll learn how to leverage key features such as a class browser, automatic recompilation, code templates, content assist, hover help, hyperlinking and many other to make writing your LotusScript code a 'snap'.
Also, you'll learn how editing your Java libraries, agents, web service consumers, and web service providers in Lotus Domino Designer 8.5.1 can give your Java skills a wake up call!
The document provides an overview of the Java programming language and related technologies including servlets, JSP, Struts, Hibernate, and Tiles. It discusses what Java is, its history and technology, the different Java editions, J2EE and its components, how servlets and JSP work, database handling with JDBC, the MVC pattern implemented by Struts, and object relational mapping with Hibernate. Tiles is described as a framework for assembling web pages from individual visual components.
Silverlight 1.0 is a web plugin that allows developers to create rich interactive applications using XAML and JavaScript. It provides 2D graphics, animations, media playback and basic text support. Silverlight 1.1 will add a managed .NET programming model using C# to replace JavaScript. Both versions run in the browser sandbox and do not require installation on the client. Silverlight aims to improve the user experience for web applications compared to traditional HTML, CSS and JavaScript.
The document provides an overview of key concepts in advanced Java programming including the Java Virtual Machine (JVM), assertions, Java Database Connectivity (JDBC), Java servlets, and Java Server Pages (JSP). It describes the JVM as a software layer that converts Java bytecode into machine code so it can run on any platform. It also outlines the components of the JVM and how assertions are used for programming by contract and verifying pre- and post-conditions. The document further explains how JDBC provides Java applications access to databases via SQL and the different types of JDBC drivers. It also summarizes how servlets handle HTTP requests and the basic servlet classes, and how JSP pages are compiled
The document provides an overview of advance Java topics including collections, multithreading, networking, AWT, Swing, JDBC, JSP, and applets. It discusses key aspects of each topic such as the collection framework providing interfaces and classes for storing and manipulating groups of data, multithreading allowing programs to perform multiple tasks simultaneously, and JDBC enabling connection between Java applications and databases. Code examples are also included to demonstrate concepts like a basic Swing program and a simple applet.
Java is a programming language and platform that is commonly used to develop desktop applications, web applications, mobile apps, and more. The document introduces Java by explaining what it is, where it is used, the types of Java applications that can be created, and how the Java compilation and execution process works at a high level. It also provides an example "Hello World" Java program to demonstrate the basic anatomy of a Java file, including classes, methods, and how the main method acts as the program entry point.
Java is an object-oriented programming language that is platform independent. It was developed by Sun Microsystems, now owned by Oracle. Java code is compiled into bytecode that runs on a Java Virtual Machine (JVM), allowing it to run on any device with a JVM. Java supports features like inheritance, polymorphism, and encapsulation. It is widely used for client-side applications like applets and server-side applications like servlets and Java Server Pages (JSP). The main Java editions are Java SE for desktop applications, Java EE for enterprise applications, and Java ME for mobile applications.
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
Join us as we "reveal" the new LotusScript and Java editing capabilities in Lotus Designer 8.5.1. You'll learn how to leverage key features such as a class browser, automatic recompilation, code templates, content assist, hover help, hyperlinking and many other to make writing your LotusScript code a 'snap'.
Also, you'll learn how editing your Java libraries, agents, web service consumers, and web service providers in Lotus Domino Designer 8.5.1 can give your Java skills a wake up call!
The document provides an overview of the Java programming language and related technologies including servlets, JSP, Struts, Hibernate, and Tiles. It discusses what Java is, its history and technology, the different Java editions, J2EE and its components, how servlets and JSP work, database handling with JDBC, the MVC pattern implemented by Struts, and object relational mapping with Hibernate. Tiles is described as a framework for assembling web pages from individual visual components.
Silverlight 1.0 is a web plugin that allows developers to create rich interactive applications using XAML and JavaScript. It provides 2D graphics, animations, media playback and basic text support. Silverlight 1.1 will add a managed .NET programming model using C# to replace JavaScript. Both versions run in the browser sandbox and do not require installation on the client. Silverlight aims to improve the user experience for web applications compared to traditional HTML, CSS and JavaScript.
The document provides an overview of key concepts in advanced Java programming including the Java Virtual Machine (JVM), assertions, Java Database Connectivity (JDBC), Java servlets, and Java Server Pages (JSP). It describes the JVM as a software layer that converts Java bytecode into machine code so it can run on any platform. It also outlines the components of the JVM and how assertions are used for programming by contract and verifying pre- and post-conditions. The document further explains how JDBC provides Java applications access to databases via SQL and the different types of JDBC drivers. It also summarizes how servlets handle HTTP requests and the basic servlet classes, and how JSP pages are compiled
The document provides an overview of advance Java topics including collections, multithreading, networking, AWT, Swing, JDBC, JSP, and applets. It discusses key aspects of each topic such as the collection framework providing interfaces and classes for storing and manipulating groups of data, multithreading allowing programs to perform multiple tasks simultaneously, and JDBC enabling connection between Java applications and databases. Code examples are also included to demonstrate concepts like a basic Swing program and a simple applet.
Java is a programming language and platform that is commonly used to develop desktop applications, web applications, mobile apps, and more. The document introduces Java by explaining what it is, where it is used, the types of Java applications that can be created, and how the Java compilation and execution process works at a high level. It also provides an example "Hello World" Java program to demonstrate the basic anatomy of a Java file, including classes, methods, and how the main method acts as the program entry point.
This document provides an overview of Java and how to learn it on your own. It discusses Java features like being simple, object-oriented, distributed, robust, and having GUI and multi-threading capabilities. It also covers Java being cross-platform due to its interpretive execution. The document then presents two sample Java programs - a standalone program and an applet. Finally, it recommends a three stage approach to self-learning Java, covering basic, mid-level and advanced topics, and lists resources like books, websites and IDEs to support the learning process.
The document discusses Java AWT event handling and graphics. It covers key concepts like events, event classes, event handling process, commonly used event listeners and adapter classes. It also covers AWT containers, layout managers, menu classes, graphics classes and how to work with frames and graphics in Java. The document is intended to teach programming in Java and is part of a larger unit on AWT.
The document discusses Java Beans, Applets, JDBC, Networking in Java, JNDI, and some key classes used in these technologies. It provides an overview of concepts like Java Beans components, properties, events, introspection, customization, persistence. It describes the lifecycle and methods of Applets. It outlines the basic steps to use JDBC like loading drivers, establishing connections, executing queries. It discusses connection-oriented and connectionless networking in Java and common network classes like Socket, ServerSocket, URL, URLConnection. It provides a high-level overview of the JNDI architecture.
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designerddrschiw
With release 8.5.1, the new Lotus Domino Designer Extension API supports custom extensions to operate on selections of design elements. We'll details several sample applications; 1) validate references to views, forms, etc in XPages and Custom controls, 2) re-factoring tool to rename a design element and update references, 3) synchronize files between NSF and local file system (stylesheets, etc) and 4) select a form, create view with all fields from the form. We'll provide boilerplate code for common types of plugins, so you can just add your own code. You'll see how
to control whether your extension is visible/enabled based on selection contents - visit openntf.org for more! After attending this session, you can make your own contributions!
This document provides an introduction to programming in Java. It discusses key Java concepts like object-oriented programming, classes, objects, and encapsulation. It explains that Java code is compiled to bytecode that runs on a virtual machine, making Java portable across platforms. The document also gives an overview of Java features and components like the Java Development Kit tools, APIs, and libraries. It provides examples of simple Java programs and how they are compiled and executed.
This document provides an overview of Java basics, including:
- Java programs are portable across operating systems due to use of byte code, a standardized class library, and language specification.
- Java is secure through features like no pointer arithmetic, garbage collection, and restrictions on applets.
- Java is robust with features like bounds checking and garbage collection that prevent crashes.
- Java programs are either standalone applications or applets that run in a web browser.
- The Java compiler translates source code to byte code, which is then interpreted at runtime.
NetBeans is an integrated development environment (IDE) initially created in 1996 as a college project called Xelfi. It was later commercialized as NetBeans and acquired by Sun Microsystems in 1999. NetBeans IDE is an open source IDE that supports development of desktop, enterprise, web, and mobile applications in languages including Java, PHP, and JavaScript. The NetBeans Platform is a framework upon which the IDE itself is built and allows modular extensibility through plug-ins. Major companies like Northrop Grumman, Raytheon, and Boeing use applications built on the NetBeans Platform.
Connect 2014 JMP101: Java for XPages Developmentpanagenda
This document provides an agenda and overview for a training session on Java development for XPages. It introduces the presenter, Paul Calhoun, and his background and qualifications. The agenda covers Java language fundamentals, configuring Domino Designer for Java development, Java beans and managed beans, calling Java code from XPages, accessing Domino objects, and using third party libraries. It also includes sections on Java resources, common roadblocks to learning Java, and whether Java is still relevant.
Lift is a free Scala-based web application framework that provides tools to make writing secure, interactive, and scalable web applications easier. It uses a view-first approach where the view is chosen first and then dynamic content is included. Key features include concise code due to Scala, high performance, and security through opaque identifiers. It is organized into core, persistence, and modules subprojects.
Java is an important skill to have as an XPages developer. This webinar will provide a foundation of the Java skills you need and explain how to best acquire them. Come see how Java is used with detailed code examples that demonstrate how to use core Java code, Java Beans, Managed Beans, and third party Java libraries in your applications. After this webinar you will know exactly how to add Java as a tool in your development toolbox.
Introduction to java programming. fundamentas. basic programming. java is easy to learn. following this presentation , you can get more knowledge of Java . Elementary level presentation.
1) The document discusses Java concepts across 5 doses: the Java Community Process, Java characteristics, terminology, platforms, and frameworks.
2) It covers key Java characteristics like being cross-platform, using object-oriented programming, having robust and good performance, and automatic memory management.
3) Important Java terminology is defined, like the Java Virtual Machine (JVM), Java Runtime Environment (JRE), and Java Development Kit (JDK).
4) The main Java platforms - Java SE, Java ME, and Java EE - are outlined, describing their uses for general applications, limited devices, and enterprise software respectively.
5) Popular Java frameworks for testing, building, GUIs, IDE
Java was developed by Sun Microsystems in 1991 as a simple yet robust programming language. It is an object-oriented language that allows for abstraction, encapsulation, inheritance, and polymorphism. To compile and run a Java program, developers write code in an editor, save it with a .java extension, compile it to generate a .class file using javac, and execute the bytecode using java without specifying the file extension. The Java Virtual Machine then interprets and executes the bytecode, allocating memory and threads as needed.
This document provides a 3-step summary for how to write to a file in Java:
1. Import the java.io package at the top of the code.
2. Create a File object, FileWriter object, and BufferedWriter object, with the BufferedWriter receiving the FileWriter as a parameter.
3. Use the write method of the BufferedWriter object to write text to the file.
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
XPages have ushered in a new era for application development on the IBM Lotus Domino platform. This session will take you beneath the surface of XPages and into the inner workings of server-side JavaScript, the language that allows you to easily add truly advanced features to your applications. By the end of this deep-dive session, you'll know how to use server-side JavaScript in the following ways: create events that dynamically manipulate interface components based on user interaction; and use scope caching to improve performance and usability and leverage closures
and other design patterns to create reusable object-oriented server-side JavaScript. You'll also learn how to make your XPages more powerful with "managed beans" and other Java classes, as well as create advanced re-usable components by passing Java and server-side JavaScript objects to custom controls.
DDH atau dislokasi panggul kongenital terjadi ketika acetabulum dan kepala tulang paha tidak berada pada posisi yang semestinya. Gejala klinisnya antara lain kaki panjang sebelah dan lipatan paha yang tidak simetris. Diagnosis didukung dengan pemeriksaan fisik khusus dan pemeriksaan penunjang seperti USG dan rontgen. Tatalaksananya meliputi penyanggaan, traksi, operasi, dan prostesis tergantung us
The document discusses how Network Address Translation (NAT) and Port Address Translation (PAT) can help solve the problem of limited IP addresses by allowing private IP addresses to be translated to public IP addresses, and describes how to configure various NAT and PAT functions on a Cisco router including static NAT, dynamic NAT, port overloading, and handling overlapping networks.
This document provides an overview of Java and how to learn it on your own. It discusses Java features like being simple, object-oriented, distributed, robust, and having GUI and multi-threading capabilities. It also covers Java being cross-platform due to its interpretive execution. The document then presents two sample Java programs - a standalone program and an applet. Finally, it recommends a three stage approach to self-learning Java, covering basic, mid-level and advanced topics, and lists resources like books, websites and IDEs to support the learning process.
The document discusses Java AWT event handling and graphics. It covers key concepts like events, event classes, event handling process, commonly used event listeners and adapter classes. It also covers AWT containers, layout managers, menu classes, graphics classes and how to work with frames and graphics in Java. The document is intended to teach programming in Java and is part of a larger unit on AWT.
The document discusses Java Beans, Applets, JDBC, Networking in Java, JNDI, and some key classes used in these technologies. It provides an overview of concepts like Java Beans components, properties, events, introspection, customization, persistence. It describes the lifecycle and methods of Applets. It outlines the basic steps to use JDBC like loading drivers, establishing connections, executing queries. It discusses connection-oriented and connectionless networking in Java and common network classes like Socket, ServerSocket, URL, URLConnection. It provides a high-level overview of the JNDI architecture.
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designerddrschiw
With release 8.5.1, the new Lotus Domino Designer Extension API supports custom extensions to operate on selections of design elements. We'll details several sample applications; 1) validate references to views, forms, etc in XPages and Custom controls, 2) re-factoring tool to rename a design element and update references, 3) synchronize files between NSF and local file system (stylesheets, etc) and 4) select a form, create view with all fields from the form. We'll provide boilerplate code for common types of plugins, so you can just add your own code. You'll see how
to control whether your extension is visible/enabled based on selection contents - visit openntf.org for more! After attending this session, you can make your own contributions!
This document provides an introduction to programming in Java. It discusses key Java concepts like object-oriented programming, classes, objects, and encapsulation. It explains that Java code is compiled to bytecode that runs on a virtual machine, making Java portable across platforms. The document also gives an overview of Java features and components like the Java Development Kit tools, APIs, and libraries. It provides examples of simple Java programs and how they are compiled and executed.
This document provides an overview of Java basics, including:
- Java programs are portable across operating systems due to use of byte code, a standardized class library, and language specification.
- Java is secure through features like no pointer arithmetic, garbage collection, and restrictions on applets.
- Java is robust with features like bounds checking and garbage collection that prevent crashes.
- Java programs are either standalone applications or applets that run in a web browser.
- The Java compiler translates source code to byte code, which is then interpreted at runtime.
NetBeans is an integrated development environment (IDE) initially created in 1996 as a college project called Xelfi. It was later commercialized as NetBeans and acquired by Sun Microsystems in 1999. NetBeans IDE is an open source IDE that supports development of desktop, enterprise, web, and mobile applications in languages including Java, PHP, and JavaScript. The NetBeans Platform is a framework upon which the IDE itself is built and allows modular extensibility through plug-ins. Major companies like Northrop Grumman, Raytheon, and Boeing use applications built on the NetBeans Platform.
Connect 2014 JMP101: Java for XPages Developmentpanagenda
This document provides an agenda and overview for a training session on Java development for XPages. It introduces the presenter, Paul Calhoun, and his background and qualifications. The agenda covers Java language fundamentals, configuring Domino Designer for Java development, Java beans and managed beans, calling Java code from XPages, accessing Domino objects, and using third party libraries. It also includes sections on Java resources, common roadblocks to learning Java, and whether Java is still relevant.
Lift is a free Scala-based web application framework that provides tools to make writing secure, interactive, and scalable web applications easier. It uses a view-first approach where the view is chosen first and then dynamic content is included. Key features include concise code due to Scala, high performance, and security through opaque identifiers. It is organized into core, persistence, and modules subprojects.
Java is an important skill to have as an XPages developer. This webinar will provide a foundation of the Java skills you need and explain how to best acquire them. Come see how Java is used with detailed code examples that demonstrate how to use core Java code, Java Beans, Managed Beans, and third party Java libraries in your applications. After this webinar you will know exactly how to add Java as a tool in your development toolbox.
Introduction to java programming. fundamentas. basic programming. java is easy to learn. following this presentation , you can get more knowledge of Java . Elementary level presentation.
1) The document discusses Java concepts across 5 doses: the Java Community Process, Java characteristics, terminology, platforms, and frameworks.
2) It covers key Java characteristics like being cross-platform, using object-oriented programming, having robust and good performance, and automatic memory management.
3) Important Java terminology is defined, like the Java Virtual Machine (JVM), Java Runtime Environment (JRE), and Java Development Kit (JDK).
4) The main Java platforms - Java SE, Java ME, and Java EE - are outlined, describing their uses for general applications, limited devices, and enterprise software respectively.
5) Popular Java frameworks for testing, building, GUIs, IDE
Java was developed by Sun Microsystems in 1991 as a simple yet robust programming language. It is an object-oriented language that allows for abstraction, encapsulation, inheritance, and polymorphism. To compile and run a Java program, developers write code in an editor, save it with a .java extension, compile it to generate a .class file using javac, and execute the bytecode using java without specifying the file extension. The Java Virtual Machine then interprets and executes the bytecode, allocating memory and threads as needed.
This document provides a 3-step summary for how to write to a file in Java:
1. Import the java.io package at the top of the code.
2. Create a File object, FileWriter object, and BufferedWriter object, with the BufferedWriter receiving the FileWriter as a parameter.
3. Use the write method of the BufferedWriter object to write text to the file.
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...ddrschiw
XPages have ushered in a new era for application development on the IBM Lotus Domino platform. This session will take you beneath the surface of XPages and into the inner workings of server-side JavaScript, the language that allows you to easily add truly advanced features to your applications. By the end of this deep-dive session, you'll know how to use server-side JavaScript in the following ways: create events that dynamically manipulate interface components based on user interaction; and use scope caching to improve performance and usability and leverage closures
and other design patterns to create reusable object-oriented server-side JavaScript. You'll also learn how to make your XPages more powerful with "managed beans" and other Java classes, as well as create advanced re-usable components by passing Java and server-side JavaScript objects to custom controls.
DDH atau dislokasi panggul kongenital terjadi ketika acetabulum dan kepala tulang paha tidak berada pada posisi yang semestinya. Gejala klinisnya antara lain kaki panjang sebelah dan lipatan paha yang tidak simetris. Diagnosis didukung dengan pemeriksaan fisik khusus dan pemeriksaan penunjang seperti USG dan rontgen. Tatalaksananya meliputi penyanggaan, traksi, operasi, dan prostesis tergantung us
The document discusses how Network Address Translation (NAT) and Port Address Translation (PAT) can help solve the problem of limited IP addresses by allowing private IP addresses to be translated to public IP addresses, and describes how to configure various NAT and PAT functions on a Cisco router including static NAT, dynamic NAT, port overloading, and handling overlapping networks.
This document lists various hardware components that can be used as inputs for computing devices, including scanners, touchscreens, microphones, webcams, joysticks, styluses, bar code readers, fingerprint readers, trackballs, mice, keyboards, RAM, and printers.
This document provides an overview of the Java programming language. It discusses key features such as platform independence, object-oriented programming principles like inheritance and polymorphism, automatic memory management, and security features. It also covers basic Java concepts like primitive data types, variables, operators, control flow statements, methods, classes and objects.
This document discusses IP addressing and subnetting. It begins by explaining what an IP address is and how subnet masks are used to divide the address into a network and host portion. Various IP address classes and subnet mask lengths are presented. The document then demonstrates how to perform subnetting calculations to divide a network into multiple subnets and allocate host addresses within each subnet. Decimal to binary conversions and subnet mask bit calculations are also covered.
The document discusses software integration testing. It defines software integration testing as testing activities that integrate software components together to form a complete system. The document outlines different software integration strategies, including non-incremental and incremental strategies. It discusses traditional strategies like top-down and bottom-up integration. It also covers test drivers, stubs, and strategies for object-oriented integration like class test order.
This document provides an introduction to Java applets, including how they differ from standalone applications, how they are built and used on web pages, and some key classes involved in creating applets. The key points are:
1) Applets are small Java programs that can be embedded in HTML pages and run in web browsers, allowing web pages to have interactive elements, while applications are standalone programs run with the Java interpreter.
2) Applets are built using classes like Applet and JApplet and override methods like init() instead of having a main() method. They are usually graphical and enable user interaction.
3) To create an applet, you define a public class that extends JApplet,
Java is an object-oriented programming language that is platform independent. It was developed by Sun Microsystems, now owned by Oracle. Java code is compiled into bytecode that runs on a Java Virtual Machine (JVM), allowing it to run on any device that supports a JVM. Java supports features like inheritance, polymorphism, and encapsulation. It is widely used for client-side applications like applets and server-side applications like servlets and Java Server Pages (JSP). The main Java editions are Java SE for desktop applications, Java EE for enterprise applications, and Java ME for mobile applications.
This document provides an overview of Java programming including:
- A brief history of Java originating from Sun Microsystems' Green project in the 1990s.
- An introduction to core Java concepts like the Java Virtual Machine, bytecode, and platforms independence.
- A discussion of object-oriented programming principles like abstraction, encapsulation, and polymorphism and how they are implemented in Java.
- Descriptions of common Java program types like applications and applets and how they are processed by the Java runtime environment.
- An introduction to Unified Modeling Language (UML) diagrams used for software design.
Spring data jpa are used to develop spring applicationsmichaelaaron25322
Spring Data JPA helps overcome limitations of JDBC API and raw JPA by automatically generating data access code. It reduces boilerplate code through repository interfaces that expose CRUD methods. The programmer defines database access methods in repository interfaces rather than implementing them, avoiding inconsistency. A Spring Data JPA project contains pom.xml, Spring Boot starters, application.properties, and main class annotated with @SpringBootApplication to run the application.
Rod Johnson created the Spring Framework, an open-source Java application framework. Spring is considered a flexible, low-cost framework that improves coding efficiency. It helps developers perform functions like creating database transaction methods without transaction APIs. Spring removes configuration work so developers can focus on writing business logic. The Spring Framework uses inversion of control (IoC) and dependency injection (DI) principles to manage application objects and dependencies between them.
- Java is a general-purpose, object-oriented programming language that is designed to be portable so that code written in Java can run on any platform that supports Java without being modified.
- Some key features of Java include being simple, platform-independent, secure, robust, and high-performance.
- Java code is compiled into bytecode that can run on any Java Virtual Machine (JVM) regardless of computer architecture. This allows Java programs to "write once, run anywhere."
- The most basic Java programs, like "Hello World," demonstrate use of the Java language and how to compile and run a Java application or applet.
- Java is a general-purpose, high-level programming language that is compiled to bytecode that runs on a Java Virtual Machine (JVM).
- Key features of Java include being platform-independent, object-oriented, robust, secure, and having a large standard library.
- To write a simple Java program, code is written in .java files, compiled to .class files, and run on a JVM. The "Hello World" example prints text to the console.
The document provides an introduction and history of Java, outlining how it was developed in the 1990s as a platform-independent language by James Gosling at Sun Microsystems, and discusses some key advantages of Java like being object-oriented, portable, robust, and having built-in support for security and multithreading. It also describes the Java Development Kit (JDK) which contains tools for developing Java programs and the Java Runtime Environment (JRE) which allows running of Java applications and includes the Java Virtual Machine.
BP214 IBM Lotus Symphony : Finally, A Developer's FriendJohn Head
The document discusses integration between Lotus Notes and Lotus Symphony. It provides an overview of Lotus Symphony and how it relates to OpenOffice.org. It then covers various demos and techniques for integrating Notes and Symphony, including using UNO, LotusScript API, Eclipse plug-ins, and the Lotus Symphony toolkit. Advanced integration options are presented for working between Notes applications like Contacts and Symphony. The document concludes by looking forward to upcoming versions of Symphony and new APIs for integration.
This document provides an overview of a presentation on Java fundamentals by Kunal V. Gadhi. It covers topics such as the history and features of Java, object-oriented programming concepts, Java applications and applets, multithreading, input/output and networking, MySQL, and JDBC. The document includes sections on each topic with descriptions of key concepts and code examples.
The document provides an introduction to Java programming including:
- Java is an object-oriented language where programs are written as classes and allows "write once, run anywhere" functionality.
- Key features of Java include being simple, robust, secure, multi-threaded, and dynamically flexible.
- The Java architecture includes the compiler, JVM, JRE and JDK which work together to compile and execute Java code.
- Common Java applications include mobile apps, desktop apps, web apps, games, cloud apps, and IoT apps.
- A basic Java program structure includes documentation, packages, imports, classes, and a main method.
The document discusses the fundamentals of object-oriented programming and Java. It covers key concepts like abstraction, encapsulation, inheritance and polymorphism. It also describes the basic structure of a Java program, including classes, objects, methods and variables. It explains how to set up a Java development environment, compile and run a simple Java program.
This document provides an overview of object-oriented programming concepts in Java including abstraction, encapsulation, inheritance, and polymorphism. It discusses key Java concepts like classes, objects, methods, and access specifiers. It also covers Java fundamentals like variables, data types, operators, control flow statements, comments, and arrays. Additionally, it describes the Java runtime environment, how to set up a Java development environment, compile and run a simple Java program. The document is intended as an introduction to object-oriented programming and the Java programming language.
The document summarizes an event called UKLUG 2012 that was held from September 2-4, 2012 at Cardiff University in Wales. It focused on XPages topics beyond the basics. The agenda included sessions on JavaScript/CSS aggregation, enabling pre-load for XPages, Java design elements, JAR design elements, Faces-config design elements, themes, and the XPages Extension Library.
Connect 2014 SHOW102: XPages Still No Experience Necessarypanagenda
This document outlines an agenda for a presentation on building an XPages help desk application. It introduces the presenters Kathy Brown and Paul Calhoun and what they will be building - an XPages help desk app that allows users to enter, view, and update tickets. It provides an overview of what XPages are and how they differ from traditional Notes applications. It describes how to set up the starter application and begin coding an initial layout and home page for the app using core XPages and Extension Library controls.
Introduction to react native with reduxMike Melusky
This document provides an introduction and overview of React Native with Redux. It begins with an introduction to React components, props, and state. It then covers building a sample React Native app and advanced concepts like navigation and Redux. The document compares React Native to other native frameworks and provides resources for learning more. It was presented at Philly.NET on March 24, 2018 and discusses topics like React basics, React Native, native navigation solutions, and integrating Redux.
Lecture 19 - Dynamic Web - JAVA - Part 1.pptKalsoomTahir2
Glassfish is an open source Java application server that uses the Grizzly component and Java NIO for scalability and performance. It supports Java servlets, JSPs, EJBs and other Java EE technologies. The NetBeans IDE can be used to create a simple Java web application using servlets and JSPs, deploy it to Glassfish, and view it in a browser. Key steps include creating a Java class with getters and setters, an index JSP to display a form, a response JSP to handle form submission, and using JavaBeans and JSP tags to connect the classes and pass data between pages.
Laravel is an open-source PHP web application framework that provides tools and features to build web applications easily, including a database abstraction layer, tools for dependency injection and an MVC architecture. The document discusses Laravel's features, how to install it by downloading XAMPP, Composer and Visual Studio Code, and describes Laravel's directory structure which separates core code, configurations, routes, storage and other elements into logical folders. Tutorial videos are provided to help learn Laravel.
The document provides information about Java, including:
- Java is an object-oriented programming language that is platform independent and can be used to create applications for web, desktops, mobile devices, and more.
- Java was originally developed in the early 1990s by James Gosling at Sun Microsystems for use in set-top boxes, but became popular for building web applications and is now widely used.
- The Java Development Kit (JDK) includes tools like javac, java, javadoc and others needed to develop, compile, run and document Java programs, as well as class libraries and documentation. The JVM executes compiled Java code.
Glassfish is an open source application server that supports Java EE technologies like Servlets, JSP, EJB. It uses Grizzly, which is based on Apache Tomcat, as its servlet container and uses Java NIO for improved performance. Key Java EE technologies it supports include Servlets, JSP, EJB, advanced XML technologies.
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!
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.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
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
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.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
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
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.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
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
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
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.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
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 .
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more 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.
1. Agenda
Domino JAVA development environments – Today
– Domino and JAVA - embedded Applets
– Domino and Javascript
– Domino toolkit for JAVA/Corba
– Harmony for Domino - EJB from Sun
– JAVA and SOAP web services on Domino
JAVA in Domino 6 – Tomorrow
– Domino and JAVA in Release 6
– Domino and J2EE
– Domino and Websphere integration
Examples
– Help Desk Application
– Web Services using SOAP
– SPAM filters
Sites to find more information
2. Lotus Notes and Domino – A
Level Set
• Notes is the Client code – a groupware
product that supports email, calendaring,
document management, workflow and web
access
• Domino is the backend server that runs
services such as HTTP, POP, SMTP,
LDAP, Database, Routing, JAVA Servlets,
Replication, etc.
3. Domino Development – Brief Overview
• The key programming functions in Domino are:
– Formula, LotusScript, Java, and JavaScript code
– You attach code to various objects depending on need.
• You use attach formulas to fields and sections on forms and views.
• You attach JavaScript code to the onFocus event of a field which
would then execute whenever a user places focus on the field.
• Macros can be developed to perform common functions on all
objects
• There is an IDE programming interface to development
environments that support COM and OLE.
• There is a programming interface for Java applications
and applets.
– Java applications and applets can operate locally by accessing
installed Domino software or remotely by connecting to a Domino
server using CORBA with IIOP protocols.
4. Domino Object Model (DOM)
• What is it?
– Hierarchical organization of the Domino objects.
• It consists of back-end and front-end classes.
– 25 back-end classes (two new classes in R5).
– 7 front-end classes
• Formerly referred to as:
– Notes object model, Notes object interface or NOI
– LotusScript classes (the back-end classes were called
the Database level classes, while the front-end classes
were called the UI level classes)
5. Where to Use JAVA in Domino
• Embedded Applets & Servlets
• CORBA Applets/Applications
• Web Agents & Web development
– use Java applets (like eSuite DevPack) and Java Servlets.
• Connecting to Relational Databases
– use JDBC in Java Applications and Java agents.
• Integrating with Legacy Systems
– use Java Applications and Java agents.
• Reduce development time by purchasing ready to use
Java classes written specifically for Domino
developers
6. Java Objects in Notes R5
IIOPIIOP CORBACORBA
Server APIServer API
ServerServer
ObjectsObjects
CORBACORBA
ClientClient
7. Domino and JAVA - embedded Applets
• Domino ships with 4 pre-built JAVA applets
– Outline applet
• The outline applet lets Web users work with outlines
embedded in a page or form.
– View applet
• The view applet lets Web users use many of the Domino
view features, including column resizing, multiple
document selection, and section collapse/expand without
page regeneration.
– Action bar applet
• The action bar applet lets users scroll and easily view and
select sub-actions.
– Editor applet
• The editor applet lets Web users change the font, color,
size, and style for text in rich text fields.
15. Extending Classes
CREATING AN APPLET INVOLVES
EXTENDING THE APPLET CLASS:
• Import the class files: import java.applet.Applet
– Importing the applet class file gives you a starting point
to build from, a bit like a template.
• Extend: public class Catalogue extends Applet
– Your code extends the java.applet.Applet class files.
• Void: public void init()
– In order to add your own code to the methods available
in a applet class file, you need to override the existing
methods.
16. Object Actions
CREATING OBJECTS INVOLVES THREE ACTIONS:
• Declaration: type name
– "Button nextProduct" is a variable declaration that
declares that the name nextProduct will be used to refer to
a object of the button type (class name).
• Instantiation: new
– the new operator (like LotusScript) is used in Java to
create a new object, in this case a new button.
• Initialization: constructor call
– "Button(“Next Product”)" calls the button class
constructor which will initialize the nextProduct object.
17. Referencing Variables
• All objects of the same type have the same
variables:
– These are created when the object is instantiated and
initialized.
– This is similar to LotusScript, that is all
NotesDocument objects have the same properties and
methods. (The values stored in the properties vary).
• To reference a variable:
– objectName.methodName
18. Handling Events
• Applets inherit a group of event handling methods
from the AWT class: java.awt.Event.
• Establishing event handling methods involves
three steps:
1. Implement the appropriate Listener interfaces:
public class X extends Applet implements ActionListener
2. Register each object with the event Listener:
objectName.addActionListener(this);
3. Implement the methods of the appropriate Listener
interface:
public void actionPerformed(ActionEvent event)
19. Basic Syntax
• Unlike JavaScript, which is untyped, all data
variables in Java have a type
– The type determines what values the variable can
contain and the operations that can be performed on it.
• Variable scope is similar to LotusScript:
– Variables defined in the “(declarations)” event are
available to all events in the same module. This is like
a member variable in Java.
– Variables declared in the “initialize” event are only
available for the duration of that event. This is like a
local variable in Java.
20. Steps to Create an Applet
• Create the Source File
– This can be done in any text editor.
– Must save the file with an *.java extension.
• Compile the Source File
– This converts the text file into ByteCode which
can be read by the JVM.
– Use the JDK (Java Developers Kit) or a Java
IDE, such as IBM’s Visual Age
• Embed the Applet into an HTML page or a
Domino Document, Form or Page.
21. Displaying Images in Applet
• Import the AWT Image and Graphics class files.
• Loading the Image:
– Use imagename =
getImage(getDocumentBase(),”image.gif”);
• Drawing the Image using:
– Use g.drawImage(imagename, 0, 0, this);
– where g represents the Java graphics object.
– 0,0 are the x,y co-ordinates for the image.
– this indicates that this object should be notified as more
of the image becomes available.
22. Lotus.domino.*
• All Java programs use the Domino Java Classes to
write code that instantiates Domino Objects.
• lotus.domino.* is a Java package that gives Java
programmer’s access to the Domino Object Model.
• The package does not include the Front-end classes
-as a Java program cannot be attached to front-end
objects, such as form events (unlike LotusScript).
• This same package is used in Java Applets,
Applications and Agents.
23. Domino Java Classes
METHODS:
• Java methods are identical to LotusScript methods
except that they start with lowercase.
PROPERTIES:
• In Java, properties are also methods, so the
LotusScript properties needed to be converted into
equivalent methods:
– Boolean properties have two equivalent methods - one
to set/change it, which starts with the word “set”, and
one to read it, which starts with the word “is”.
– Other properties convert to “get” methods in Java.
25. Adding an Applet into your App
• Embed the applet into a Domino form, page or
document.
• Check the “Applet uses the Notes CORBA
classes” property.
• Check the “Applet uses CORBA SSL security”
property if required.
• Execution in a Browser invokes CORBA, in a
Notes Client the applet simply access the local
Domino APIs.
26. Lotus Domino Toolkit for Java/CORBA
• Tools, samples, and documentation to create Java programs using
Domino data and services.
• Domino Collaboration Objects for Java (DCO)
– Java beans (classes) that add Domino messaging and calendaring
services to programs.
– You provide any needed user interface; the DCO beans provide easy
Domino access to:
• User login and authentication
• Sending an email
• Working with calendar entries
• The DCO beans help Web developers tap into Domino services by
consolidating the necessary Domino back-end Java classes into a
few Java components.
• Developers not familiar with Domino can rapidly integrate Domino
services into Java applications such as servlets and JavaServer
Pages (JSPs).
• http://www.lotus.com/developers/devbase.nsf/homedata/homejava
27. Domino JAVA Servlets
• A Domino Java servlet is a program run by the Domino Web server
in response to a browser request.
• Domino supports both Java servlets and Java applets for Web
applications.
• The most important difference between these types of Java
programs is how they are run.
• Servlets are "server-side" programs
– a servlet's Java class is loaded and run entirely within the Domino
server and the result from the servlet, usually a page of HTML, is
returned to the browser
• Applets are "client-side" programs
– An applet's Java class is downloaded to the browser and is run by the
browser
• Applets require Java support in the browser, but servlets do not.
• Servlets for Domino must conform to the Java Servlet API
Specification, an open standard published by Sun Microsystems,
Inc.
28. Java Servlets – Backend
Architecture
LotusScript
Agents
Events
Java
Agents Client ORB
Applet
Client-side
objects
Domino Server
Browser Client
IIOP
LS
Adapter
Java
Adapter
Domino Back-End
Classes
CORBA
Adapter
COM
Adapter
Host
Application
Visual
Basic
DIIOP ORB
Web
Server HTTP
HTTP
Foreign Client
Java
Servlets
29. How is the Servlet Invoked?
• Triggered by HTTP request
– /servlet/<servlet name>
• Mapped to a specific file extension
• Built-in Java Servlet Engine for JSDK 2.0
• IBM WebSphere 2.0 compatible
30. Domino Servlet Configuration Screen
Java Servlets
Java servlet support: Domino Servlet Manager
Servlet URL path: /servlet
Class path: domino/servlet
Servlet file extensions:
Session state tracking: Enabled
Idle session time-out: 30 minutes
Maximum active sessions: 1024
Session persistence: Disabled
31. How to implement in Domino
• JSDK 2.0 documentation at java.sun.com
• Commercial Java development packages
• VisualAge for Java from IBM
• Put JSDK.jar into CLASSPATH
– (packaged with R5)
– javac
32. Writing a Servlet - 1
• Extend javax.servlet.http.HttpServlet
– Subclass of GenericServlet
• Choose the desired method
– doGet( ), doPost( ), init( ) & destroy( )
• Place class files into servlet directory
– <Notes data dir>dominoservlet
• Invoke by URL
– /servlet/<name>
33. Writing a Servlet - 2
• <data dir>servlets.properties
• Standard Java properties file format
• Directives:
– servlets.startup=<name1> <name2>
– servlet.<name>.initArgs=<name>=<value>
– servlet.<alias>.code=<class>
– servlet.<name>.extension=<ext>
34. Running the Servlet
• Servlet Manager ClassLoader loads servlet
– Uses dominoservlet path
• System ClassLoader loads other classes
– From file system
– Locates using CLASSPATH
• init( ) method executes
• service( ) method executes for each request
• Servlet classes REUSED
35. Java User Classes
• Notes.ini variable
• Couples system classloader to a classpath
• Path separators
– Semicolon for Win32/OS2
– Colon for UNIX
• Example:
– JavaUserClasses=c:myjarsutils.jar;
c:morefoo.jar
36. Languages
• CORBA applets & applications
– Java
– JDBC and Domino Driver
• Web agents
– Java
– LotusScript
– Formula language
• Servlets
– Java
37. Examples of code used
in an Agent
Import lotus domino.*
public class simpleagent extends AgentBase
{
public void NotesMain( )
{
try {
Session s = getSession( );
AgentContext ac = s.getAgentContext( );
// your code goes here
Document doc = ac.getDocumentContext( );
String qs=doc.getItemValueString("Query_String"); }
catch( NotesException e)
{ e.printStackTrace( ); }
}
}
38. Harmony for Lotus Domino
• OEM Java API to access information from Lotus
Domino.
– Comprehensive library of Java technology-based
components
– Developers can access and store information such as
appointments, todos, mail messages and contacts
through the Harmony for Lotus Domino Java
technology API.
39. JAVA and Soap in Domino
• Use XML to encode the data
• Format the remote calls using SOAP
• Use HTTP as the tranport
• Use JAVA as the language to tie it
together
40. Domino 6 – What’s New
• Creating JSPs from the JSP tag libraries
– large set of tags for Java Server Pages (JSP)
• Enhancements to the Java APIs to make it
easier to get into and out of Domino.
• IDE enhancements for importing JAVA applets
and servlets
41. Domino 6 – More integration
with Websphere
• IBM has announced that Lotus Domino 6 customers will
be able to download a free version of WebSphere
Application Server (WAS) from the IBM Lotus Passport
Advantage site.
– Delivers Java 2 Platform, Enterprise Edition (J2EE) Advances
IBM's Web services strategy by delivering J2EE capabilities to
Lotus Domino customers and business partners embracing a J2EE
architecture.
– The free WAS download can only be installed on the same
machine as Domino 6, and it can only access Domino objects. In
addition, developers won't be able to use WebSphere connection
pooling or EJBs
42. Is Domino Worth It?
• Lotus has sold about 85 million seats, it has
about 50 thousand customers, and it
contributes about 20 percent of the total
revenue of IBM Software Group
(comprised of Lotus, WebSphere, DB2 and
Tivoli brands).
43. After Domino 6 - ??
• Lotus President Al Zollar says the plan is to
modularize products and exploit J2EE and Web
services.
• The product roadmap to Lotus NextGen
Contextual Collaboration has four levels, from
most to least "application richness," evolving over
time:
– Lotus Domino JAVA APIs
– NextGen collaborative infrastructure
– NextGen collaborative components
– RAD for J2EE based on Eclipse
44. Sites for more information
• http://www.lotus.com
• http://javaadvisor.com/Articles.nsf/aid/DEVEG02
• http://javaadvisor.com/Articles.nsf/aid/SMITT728
• http://www-
10.lotus.com/ldd/sandbox.nsf/e26da15be91bde91852566f0006941d9/04ba4
82a57b4131d8525673100760f75?OpenDocument
• http://industry.java.sun.com/solutions/products/by_product/0,2348,all-5604-
13,00.html
• http://www.notestips.com/80256B3A007F2692/0/92D392DC6B297289802
56BA5007FBAA3?OpenDocument
• http://industry.java.sun.com/solutions/products/by_product/0,2348,all-1162-
99,00.html
• http://www.lotus.com/products/rnext.nsf/873769A79D9C5B2285256A0800
720B96/D14669BE33B75CB585256C4700659FDC?OpenDocument
45. Want to hear more?
• Patricia Egen
– Patricia Egen Consulting, LLC
– www.egenconsulting.com
– 423-875-2652
– Pregen@egenconsulting.com