Learn what's new in Project Wonder's ERRest framework. Also, see some tips about security and versioning for your REST services, and learn how you can use HTML routing to build Web apps with ERRest.
This document outlines an agenda for a REST API training session occurring June 30 - July 2, 2012 in Montreal. It will cover the basics of REST including concepts like URLs, HTTP verbs, statelessness and representations. It will demonstrate building a basic blog REST service in ERRest including setting routes, controllers, formats and filters. The training will cover adding basic CRUD routes, using query arguments, and advanced topics like HTML routes.
ERRest - Designing a good REST serviceWO Community
Learn how to design your REST service with the correct HTTP verbs and codes. We also talk on how to manage optimistic locking and caching for your REST services.
This document describes KAAccessControl, a framework for managing user access control and permissions. It provides concise summaries in 3 sentences or less that provide the high level and essential information from the document.
The framework allows defining roles, profiles, lists and managing user permissions through annotations and configuration files. It handles authentication but does not provide the authentication mechanism. The framework manages the current user's profile and permissions and allows impersonating other users through its user service class. Components check permissions by annotating allowed roles and querying the framework's access control services.
This document discusses filtering data in Direct to Web (D2W) by limiting the visibility of data based on the current user or company. It presents two solutions:
1. Modifying fetch specifications at the editing context level to add relationship qualifiers restricting results to the current company. This works but is low-level.
2. Using query and relationship components in D2W that call business logic to generate the appropriate qualifiers and restricted data sources. This provides a cleaner, more reusable approach compared to the first solution.
The document also discusses enhancing relationship components to support restricting fetch specifications to simplify generating qualifiers across different entities and relationships. In summary, it focuses on programmatically filtering data in D2
The document discusses using Dojo and ERRest together. It covers using Dojo's DataGrid widget and JsonRestStore to display and manipulate data from an ERRest service. It also discusses using JSON Schema for client-side validation, and handling transactions when multiple objects are saved. The demo shows these features in action.
This document discusses class-based views in Django. It covers Django's emphasis on reusability through generic views and a thriving ecosystem of third-party applications. Generic views encapsulate common patterns like listing and editing objects. While powerful, generic views have some limitations like an inability to swap the ORM. The document also discusses making the admin interface more customizable and decoupled from Django through subclassing, as well as implementing fine-grained permissions by overriding methods in ModelAdmin subclasses. Finally, it suggests that any component that follows the request-response pattern could be implemented as a class, including decorators.
The document provides information about HTML forms and JavaScript. It includes examples of HTML form fields like text, password, checkbox, radio buttons, and submit buttons. It also discusses how JavaScript can be used to validate form data, submit forms, and perform calculations. The last part discusses AJAX and how JavaScript and XMLHttpRequest object can be used to make asynchronous calls to retrieve and display data without reloading the page.
This document provides an overview of JSP/Servlet architecture. It describes how a web request is handled from the browser to the web server and JSP/Servlet container. It then discusses key components like servlets, JSPs, the request and response objects. It provides examples of basic servlet and JSP code to output text and access request parameters. It also covers servlet configuration, mappings, and the use of forwards and redirects.
This document provides an overview of Java and XML processing using DOM, SAX, and JDOM. It outlines the key components and approaches for each, including parsing XML files into a DOM or SAX event model, traversing nodes and elements, and accessing attributes and content. JDOM is presented as an alternative Java DOM that supports Java collections and provides additional convenience methods for working with XML content.
This document discusses using the XML Schema Object Model (XSOM) in Java to parse and analyze XML schemas. It shows how to:
- Parse an XML schema file using an XSOMParser
- Examine the schema set, schemas, elements, attributes, types and facets defined in the schema
- Navigate complex types and terms to analyze element declarations, model groups, wildcards etc.
- Inspect simple types to check if they are restrictions, unions, lists and get base types and facets
The code examples demonstrate how to retrieve and describe the different parts of an XML schema using the XSOM API.
jQuery is a JavaScript library that makes it easier to select and manipulate HTML elements and implement animations and AJAX requests. It works by using CSS selectors to select elements and then provides methods to hide, show, add or remove content from those elements. Some key features of jQuery include selecting elements, modifying CSS styles, handling events, animating properties and AJAX requests. The document provides examples of how to select elements, bind events, implement common animations and effects like fading and sliding, and manipulate HTML content.
This document provides an overview of jQuery, including:
- jQuery is a JavaScript library that simplifies HTML document traversal, event handling, animating, and Ajax interactions.
- jQuery allows developers to write less code and do more, with features like simplified DOM manipulation and CSS selection.
- The document demonstrates basic jQuery concepts like DOM selection, traversal, and manipulation using jQuery's CSS selector syntax and methods.
Code generation with Xtend provides faster and better supported code generation compared to Xpand. It uses templates with expressions for concatenating strings. Types are statically checked like Java but higher-order functions are supported through libraries. Modules can be created and dependencies injected to customize code generation. The IDE supports features like content assist and debugging.
This document describes the implementation of a blog application using the Django web framework. It defines models for categories and posts using Django's model layer. It includes views for listing, detail, and category pages. Templates render the content and extend a base template. URLs are mapped to views. Form and template tags are used to implement a contact page. The application uses Django's admin interface and ORM to manage the database content.
Developing application for Windows Phone 7 in TDDMichele Capra
A real example of how to develop an application for Windows Phone 7 with Test Driven Development approach. In this presentation you'll see also hoew to implements the Model-View-ViewModel (MVVM) pattern.
The document provides an agenda and overview of Hibernate, an object-relational mapping tool. It discusses problems with traditional programming to relational databases and EJB2 persistence. Hibernate is presented as a solution that allows working with objects instead of tables and provides object querying, associations, inheritance mapping, and transactions. The document outlines Hibernate's mapping strategies, basic operations, querying methods like HQL and criteria, and alternatives like TopLink and iBatis.
The document describes a blog application built with Django. It includes models for categories and posts with a many-to-one relationship. It defines views for listing posts, displaying individual posts and categories. Templates render the content and use template inheritance. Forms and email sending are implemented for contact. URLs are configured to map to the views. Tags extend template capabilities to include recent posts. The application uses Django components and patterns for building the blog functionality.
Http4s, Doobie and Circe: The Functional Web StackGaryCoady
Http4s, Doobie and Circe together form a nice platform for building web services. This presentations provides an introduction to using them to build your own service.
QA Lab: тестирование ПО. Станислав Шмидт: "Self-testing REST APIs with API Fi...GeeksLab Odessa
5.12.15 QA Lab: тестирование программного обеспечения.
Upcoming events: goo.gl/I2gJ4H
Доклад о Play-Swagger, проекте с открытым исходным кодом, разрабатываемом в Zalando с использованием Scala и Play Framework. О том, как использование API First и Swagger позволяет ускорить процесс разработки, упростить взаимодействие команд и повысить качество продукта.
This document summarizes an ORM architecture talk given by Alex Gaynor. It discusses the major components of Django's ORM, including managers, querysets, queries, and SQL compilers. It provides examples of custom aggregates and automatic single object caching using the ORM. The talk focused on 50% ORM architecture details and 50% practical applications of the ORM.
Play is a stateless web framework for Scala and Java that provides a full stack solution for web development. It includes features like JSON integration, RESTful APIs by default, and a standard application layout. The framework uses routes files to map URLs to controller actions. Templates are used to render views and are written in Scala. Controllers handle business logic and call models and queries to interact with databases. Models define the application's domain and queries. Play supports MongoDB out of the box via ReactiveMongo.
Django's ORM is extremely powerful, allowing you to manage your data without ever going near a line of SQL and hiding a multitude of complexities. But its power can sometimes be a curse rather than a blessing, multiplying queries without your knowledge and bringing your database to its knees.
In this session I explain what's going on behind the scenes and present some techniques to make your ORM use more efficient, showing how to monitor what's going on and how to better deal with relationships, indexes and more.
This talk was presented at Europython 2010 in Birmingham.
The document provides an overview of the Java Persistence API (JPA). It describes JPA as an API for managing Plain Old Java Objects (POJOs) and mapping their state and relationships to a relational database. It discusses key JPA concepts like entities, the entity manager, queries, object-relational mapping, and common annotations.
The document provides an overview of a workshop on creating single page web applications using JavaScript. The workshop will be conducted over 3 full days and cover building simple web pages with HTML and CSS, adding dynamic functionality with JavaScript, and developing a single page application using frameworks like Backbone.js. The first day will introduce HTML, DOM manipulation with JavaScript, and responsive design. The second day focuses on jQuery, AJAX, templates and CoffeeScript. The third day covers MVC principles, and building a single page app with Backbone.js and Underscore.js.
The document provides information about HTML forms and JavaScript. It includes examples of HTML form fields like text, password, checkbox, radio buttons, and submit buttons. It also discusses how JavaScript can be used to validate form data, submit forms, and perform calculations. The last part discusses AJAX and how JavaScript and XMLHttpRequest object can be used to make asynchronous calls to retrieve and display data without reloading the page.
This document provides an overview of JSP/Servlet architecture. It describes how a web request is handled from the browser to the web server and JSP/Servlet container. It then discusses key components like servlets, JSPs, the request and response objects. It provides examples of basic servlet and JSP code to output text and access request parameters. It also covers servlet configuration, mappings, and the use of forwards and redirects.
This document provides an overview of Java and XML processing using DOM, SAX, and JDOM. It outlines the key components and approaches for each, including parsing XML files into a DOM or SAX event model, traversing nodes and elements, and accessing attributes and content. JDOM is presented as an alternative Java DOM that supports Java collections and provides additional convenience methods for working with XML content.
This document discusses using the XML Schema Object Model (XSOM) in Java to parse and analyze XML schemas. It shows how to:
- Parse an XML schema file using an XSOMParser
- Examine the schema set, schemas, elements, attributes, types and facets defined in the schema
- Navigate complex types and terms to analyze element declarations, model groups, wildcards etc.
- Inspect simple types to check if they are restrictions, unions, lists and get base types and facets
The code examples demonstrate how to retrieve and describe the different parts of an XML schema using the XSOM API.
jQuery is a JavaScript library that makes it easier to select and manipulate HTML elements and implement animations and AJAX requests. It works by using CSS selectors to select elements and then provides methods to hide, show, add or remove content from those elements. Some key features of jQuery include selecting elements, modifying CSS styles, handling events, animating properties and AJAX requests. The document provides examples of how to select elements, bind events, implement common animations and effects like fading and sliding, and manipulate HTML content.
This document provides an overview of jQuery, including:
- jQuery is a JavaScript library that simplifies HTML document traversal, event handling, animating, and Ajax interactions.
- jQuery allows developers to write less code and do more, with features like simplified DOM manipulation and CSS selection.
- The document demonstrates basic jQuery concepts like DOM selection, traversal, and manipulation using jQuery's CSS selector syntax and methods.
Code generation with Xtend provides faster and better supported code generation compared to Xpand. It uses templates with expressions for concatenating strings. Types are statically checked like Java but higher-order functions are supported through libraries. Modules can be created and dependencies injected to customize code generation. The IDE supports features like content assist and debugging.
This document describes the implementation of a blog application using the Django web framework. It defines models for categories and posts using Django's model layer. It includes views for listing, detail, and category pages. Templates render the content and extend a base template. URLs are mapped to views. Form and template tags are used to implement a contact page. The application uses Django's admin interface and ORM to manage the database content.
Developing application for Windows Phone 7 in TDDMichele Capra
A real example of how to develop an application for Windows Phone 7 with Test Driven Development approach. In this presentation you'll see also hoew to implements the Model-View-ViewModel (MVVM) pattern.
The document provides an agenda and overview of Hibernate, an object-relational mapping tool. It discusses problems with traditional programming to relational databases and EJB2 persistence. Hibernate is presented as a solution that allows working with objects instead of tables and provides object querying, associations, inheritance mapping, and transactions. The document outlines Hibernate's mapping strategies, basic operations, querying methods like HQL and criteria, and alternatives like TopLink and iBatis.
The document describes a blog application built with Django. It includes models for categories and posts with a many-to-one relationship. It defines views for listing posts, displaying individual posts and categories. Templates render the content and use template inheritance. Forms and email sending are implemented for contact. URLs are configured to map to the views. Tags extend template capabilities to include recent posts. The application uses Django components and patterns for building the blog functionality.
Http4s, Doobie and Circe: The Functional Web StackGaryCoady
Http4s, Doobie and Circe together form a nice platform for building web services. This presentations provides an introduction to using them to build your own service.
QA Lab: тестирование ПО. Станислав Шмидт: "Self-testing REST APIs with API Fi...GeeksLab Odessa
5.12.15 QA Lab: тестирование программного обеспечения.
Upcoming events: goo.gl/I2gJ4H
Доклад о Play-Swagger, проекте с открытым исходным кодом, разрабатываемом в Zalando с использованием Scala и Play Framework. О том, как использование API First и Swagger позволяет ускорить процесс разработки, упростить взаимодействие команд и повысить качество продукта.
This document summarizes an ORM architecture talk given by Alex Gaynor. It discusses the major components of Django's ORM, including managers, querysets, queries, and SQL compilers. It provides examples of custom aggregates and automatic single object caching using the ORM. The talk focused on 50% ORM architecture details and 50% practical applications of the ORM.
Play is a stateless web framework for Scala and Java that provides a full stack solution for web development. It includes features like JSON integration, RESTful APIs by default, and a standard application layout. The framework uses routes files to map URLs to controller actions. Templates are used to render views and are written in Scala. Controllers handle business logic and call models and queries to interact with databases. Models define the application's domain and queries. Play supports MongoDB out of the box via ReactiveMongo.
Django's ORM is extremely powerful, allowing you to manage your data without ever going near a line of SQL and hiding a multitude of complexities. But its power can sometimes be a curse rather than a blessing, multiplying queries without your knowledge and bringing your database to its knees.
In this session I explain what's going on behind the scenes and present some techniques to make your ORM use more efficient, showing how to monitor what's going on and how to better deal with relationships, indexes and more.
This talk was presented at Europython 2010 in Birmingham.
The document provides an overview of the Java Persistence API (JPA). It describes JPA as an API for managing Plain Old Java Objects (POJOs) and mapping their state and relationships to a relational database. It discusses key JPA concepts like entities, the entity manager, queries, object-relational mapping, and common annotations.
The document provides an overview of a workshop on creating single page web applications using JavaScript. The workshop will be conducted over 3 full days and cover building simple web pages with HTML and CSS, adding dynamic functionality with JavaScript, and developing a single page application using frameworks like Backbone.js. The first day will introduce HTML, DOM manipulation with JavaScript, and responsive design. The second day focuses on jQuery, AJAX, templates and CoffeeScript. The third day covers MVC principles, and building a single page app with Backbone.js and Underscore.js.
This document provides an overview of a presentation on learning to develop XPages applications for Lotus Notes client developers. The presentation covers tips and transitions for Notes client developers moving to XPages, including separating data from user interface, using data binding, and core and custom controls in XPages. It also discusses server-side JavaScript, scoped variables, CSS and themes, debugging with Firebug, and resources for learning more about JavaScript and Java.
Alternatives of JPA
Requery provide simple Object Mapping & Generate SQL to execute without reflection and session, so fast than JPA, simple and easy to learn.
Advanced guide to develop ajax applications using dojoFu Cheng
The document discusses developing Ajax applications using Dojo. It provides a brief history of web applications and introduces rich internet applications and Ajax. It then covers why Ajax is used, different Ajax application types, how Ajax changes web applications, and the anatomy of Ajax applications. The document also discusses semantic HTML, best practices for CSS, JavaScript concepts, DOM querying and manipulation using Dojo, efficient DOM techniques, events, and event propagation.
This document outlines an agenda for a WebObjects optimization conference on June 30 - July 2, 2012 in Montreal. The sessions will cover optimizing WebObjects applications from the browser to the database including techniques like caching, batch fetching, SQL monitoring and more. Chuck Hill from Global Village Consulting will discuss strategies for optimizing applications beyond the end-of-model including tools like ERXEnterpriseObjectCache and ERXBatchingDisplayGroup. Time will also be spent on database tuning, avoiding unnecessary relationships in models and leveraging raw rows when appropriate.
JavaScript allows for dynamic web pages and client-side form validation. It is embedded in HTML using <script> tags and can be stored in external .js files. Functions are commonly used in JavaScript. If/else statements and operators allow for conditional logic. AJAX enables asynchronous communication with servers. Cookies store small amounts of data in a user's browser.
- JavaScript code can be embedded in HTML files using <script> tags and is used to add dynamic and interactive behaviors to web pages. It is commonly used for form validation, dynamic HTML, and AJAX.
- Functions are commonly used in JavaScript to reuse code. Variables can be declared and used within functions and have limited scope. Operators, if/else statements, and loops allow for conditional logic.
- AJAX allows for asynchronous communication between the browser and server, improving interactivity. Cookies can be used to store small amounts of data on the client-side to remember information between requests.
Code decoupling from Symfony (and others frameworks) - PHP Conference Brasil ...Miguel Gallardo
Frameworks are very helpful to solve common problems when developing an application. But what happens when we have to move to another framework? In this talk I will show how my company tries to keep independent of any framework, decoupling our business logic from symfony.
This document provides an introduction and overview of Sencha GXT, a Java library for building rich applications with GWT. Some key points:
- GXT provides native GWT widgets and components with no external JavaScript dependencies. It offers high performance and customizable UI widgets.
- GXT supports common features like RPC, RequestFactory, XML/JSON over AJAX. It also provides full theming support with standard CSS.
- The library includes various components like models, stores, loaders, templates, widgets, cells, layouts and charts.
- Stores provide client-side data collections with filtering, sorting and change events. Loaders retrieve data from servers via proxies, readers and writers.
Learning To Run - XPages for Lotus Notes Client DevelopersKathy Brown
You’re an experienced Lotus Notes developer. You’ve been doing “classic” development for years. You know LotusScript better than your native language. You know @Formula like the back of your hand. But when it comes to Xpages and Javascript, you feel like you’re learning to walk all over again. This session will cover some tips and tricks to get you up and running in Xpages. Learn how to translate what you already know, into what you need to know for Xpages. Find out where to get the information to be just as skillful at Xpages as you are with Notes client development.
The document summarizes a presentation about building a real world MVC web application called Aphirm.it that allows users to share affirmations. The presentation covers using Entity Framework to interact with the database, implementing user registration and authentication, uploading images, and using AJAX and JavaScript for features like live updating. It also discusses implementing administration functionality like approving content, assigning badges to users, and sending tweets when new content is added.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
Using the latest Java Persistence API 2 Features - Tech Days 2010 IndiaArun Gupta
This document provides an overview of new features in Java Persistence API (JPA) 2.0, including more flexible object/relational mapping capabilities like collections of basic types and embeddables with relationships. It describes the Criteria API, expanded query language, pessimistic locking support, and standardization of configuration options in JPA 2.0.
Model-Driven Software Development - Strategies for Design & Implementation of...Eelco Visser
Lecture 5 of course on Model-Driven Software Development about Strategies for Design & Implementation of Domain-Specific Languages, discussing design and implementation of WebDSL
Strategies for Design & Implementation of Domain-Specific LanguagesEelco Visser
This document summarizes strategies for designing and implementing domain-specific languages. It discusses deductive vs inductive language design approaches. It describes the compiler architecture as syntax checking, static semantics checking, model transformations, and code generation. It provides examples of how WebDSL translates entities, templates, and access control to implementation code. It discusses compilation by normalization and how WebDSL handles entities, queries, pages, forms, and access control through model transformations and code generation.
The document discusses various options for accessing and updating data in SharePoint lists, including CAML queries, REST APIs, and LINQ to SharePoint. CAML queries allow retrieving and filtering list items using XML syntax. REST APIs expose SharePoint data via OData feeds that can be consumed by remote applications. LINQ to SharePoint allows strongly-typed querying of lists using LINQ and generates CAML under the hood.
GDG Addis - An Introduction to Django and App EngineYared Ayalew
This document provides an overview of developing and deploying Django applications to Google App Engine. It begins with an introduction to Django and how to set up a Django development environment using virtualenv and pip. It then covers common Django components like models, views, templates, URLs and forms. It concludes with a brief discussion of deploying Django applications to App Engine. The key topics covered include setting up a virtual environment for Django development, the model-view-template architecture of Django, and using Django tools and components to build an application that can be deployed to App Engine.
This document provides tips and best practices for staying sane as a Drupal developer. It discusses that 80% of building Drupal sites is configuration, while the remaining 20% requires customization. It emphasizes using Drupal APIs and hooks, playing well with contributed modules, and following coding standards and best practices like version control, automated testing and deployment, and documentation.
The document describes an in-memory OLAP engine created by Samuel Pelletier to enable fast querying of multidimensional data with millions of facts. It loads data into memory as plain old Java objects (POJOs) for faster access compared to entity objects or SQL queries. Dimensions are modeled as classes to index the facts and compute summarized results. The engine is multithreaded and designed for simplicity and minimal dependencies.
Using Nagios to monitor your WO systemsWO Community
Nagios is an open source monitoring tool that has been available since 1999. It is commonly used to monitor servers, services, and applications. The document discusses how to install and configure Nagios on various platforms like CentOS, Ubuntu, and Mac OS X. It also provides examples of how to monitor common services like HTTP, MySQL, disk space, and custom applications using Nagios plugins. Graphing and alerting capabilities are discussed as well. The presentation concludes with a demonstration and Q&A section.
This document discusses various tools and techniques for building and deploying software, including Git, Git hooks, Puppet, native packages, and Maven. It provides examples of using post-receive Git hooks to deploy code to servers, configuring Puppet modules to install packages and configure services, creating native packages with tools like fpm and Ant, and bundling deployment scripts within packages.
The document discusses various strategies for achieving high availability of web applications and databases. It covers evaluating business requirements, DNS configuration, using cloud infrastructure or owning hardware, basic setups with application and database servers, database replication and clustering options, load balancing tools for Linux and cloud environments, auto scaling features, and monitoring. The key strategies presented include replicating databases, load balancing web traffic, auto-scaling cloud resources, and configuring failover between redundant application and database servers.
This document discusses enabling SOAP web services using ERJaxWS in WebObjects. It provides examples of how to create a SOAP service from Java classes or a WSDL, call an external SOAP service, handle data mapping and custom types, define web faults, create stateful services, add security, and troubleshoot SOAP services. Resources for further information on JAX-WS, JAXB, and SOAP are also included.
Chaining the Beast - Testing Wonder Applications in the Real WorldWO Community
This document discusses the importance of testing applications in the real world. It covers various types of testing including catching regressions, checking new features, and addressing issues like incorrect data or slow page responses. Specific testing methodologies are mentioned, like verifying models and business logic. The importance of usability testing is also covered, such as checking the appearance and interactivity of applications. Automated testing tools like Selenium are recommended for testing functionality across different browsers. Building invariant test pages can help find faults and browser-specific problems.
The document discusses stateful controllers in Direct To Web (D2W) applications built with WebObjects. It provides background on D2W and how controllers were traditionally implemented using ERDBranchDelegate and NextPageDelegate. Stateful controllers improve upon this by allowing controller classes to be reused across multiple pages while maintaining state between pages. This is done by overriding branchChoicesForContext to programmatically define branch choices and storing necessary objects like the editing context. The document provides examples of how stateful controllers can implement common page flows and interactions through utility methods while keeping code DRY and reusable.
This document discusses deploying WebObjects applications on Windows. It covers setting up the Windows and WebObjects prerequisites, configuring the basic WOStart application launcher and WOSetup, demoing the setup process, and using JavaMonitor and WOTaskD to manage multiple applications across hosts. It also discusses potential issues like debugging WOStart and the WOAdaptor, using IIS or Apache as the web server, and common pitfalls in a Windows deployment. URLs are provided for downloading needed tools and components.
The document discusses WOUnit, a unit testing framework for Wonder. It provides features like mocking the editing context, creating dummy objects to bypass validations, and spying on objects. Sample tests are shown to test validation rules and relationships. WOUnit aims to make testing simple, fast and support Wonder features like editing contexts through assertions and annotations like @Rule, @Dummy and @Spy.
Apache Cayenne is an open source object-relational mapping framework for Java. It has been an Apache project since 2006 and has over 17 committers and 9 project management committee members. Cayenne provides tools for mapping database schemas to Java objects and vice versa, as well as tools for querying, caching query results, and handling object lifecycles. It aims to simplify working with relational databases for Java developers in a similar way to how Enterprise Objects Framework simplified it for Objective-C developers.
This document provides an overview and demonstrations of advanced Apache Cayenne concepts including:
1. Reusing Cayenne and service code between admin apps and discussing object context management.
2. Lifecycle events can be received via callbacks or listeners, with callbacks used for simple initialization and listeners for more complex workflows.
3. Caching in Cayenne includes object caching of entities by ID and query caching of result lists by generated keys, with local caching at the context level and shared caching at the domain level.
4. Demonstrations of object caching, query caching, and turning off cross-context synchronization, using query caching with expiration policies, and considering optimistic locking for performance.
The document discusses the steps for migrating an existing project to Wonder, including:
1) Moving the codebase to Git version control for branching during the migration process.
2) Preparing the codebase by adding packages, creating custom subclasses for components like the editing context and direct actions, and renaming any enum collisions.
3) Starting the actual wonderization by importing Wonder frameworks and removing duplicate jars.
This document discusses iOS application architecture and REST client implementation. It covers common iOS concepts like MVC, UIKit, table views and their data sources. It also describes a Comet architecture using a REST API and database to retrieve and display product data in a table. The controller implements the table view data source and delegate methods to display the data and handle user interactions like tapping rows.
This document discusses using iOS apps as clients for ERREST servers. It provides an example architecture of an iOS app connecting to an ERREST backend using REST calls. It also includes code snippets showing how to make REST requests using classes like PLRestful and CometAPI that handle the network requests and JSON parsing. The document is intended to explain how to build iOS clients for existing ERREST backends rather than how to code the iOS apps themselves.
This document discusses the "Framework Principal" pattern which allows optimizing resource usage across multiple applications by initializing shared services and configurations in a single starter class. The Framework Principal runs very early and can be used to launch services independently of any application based on configuration properties. It provides examples of how to configure different applications to use the same Framework Principal by specifying different property files and user names for production vs sandbox environments. This allows launching shared services only once across multiple applications rather than separately in each one.
The document discusses the WOver, a small mobile robot built using a Raspberry Pi single board computer connected via serial interface to control an Asuro driving module. It provides instructions to connect to its WiFi network and control interface webpage to drive the robot. Details are given on the hardware components used, including the Raspberry Pi, Asuro driving module, and custom operating system on the module to receive motor control commands from the Raspberry Pi. Potential next steps discussed include adding database, games, sensors, power management, camera, and benchmarks.
Localizing your apps for multibyte languagesWO Community
This document discusses considerations for localizing apps to support multibyte languages. It covers setting the encoding in Eclipse, Ant builds, and database connections to UTF-8. It also discusses features of Japanese like reading direction from right to left, lack of word spacing, and the different character sets of kanji, hiragana, katakana and their encodings. The document recommends converting all characters to single byte widths before storing in databases for ease of use and searching.
WOdka is a WebObjects framework that was originally developed in Japan. It includes several frameworks like AuditTrail, JQueryMobileD2W, and ModernistD2W. WOdka has a unified dashboard for developers and administrators. It provides features like logical delete, roles and permissions, and integration with NotificationCenter. WOdka supports modern techniques like CSS3, multi-language, and REST. It is actively developed and maintained by developers in Japan and internationally.
The document discusses jQuery ThemeRoller templates for DirectToWeb (D2W) applications. D2W uses rules and templates to generate user interfaces from data models with minimal code. The jQuery ThemeRoller templates provide a complete renovation of D2W templates using jQuery UI components and themes. This allows user interfaces to be easily branded by generating new themes with jQuery ThemeRoller. The templates utilize reusable jQuery components in a component model to build custom components. Setting up an application to use the themes involves including jQuery resources and assigning a theme class.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
6. Non automatic
• Same as with direct actions
• You use pageWithName/return nextPage
7. Statefullness
• Have HTML components and want statefulness? Use Ajax
components
• D2W components won't work
• For other formats, can use sessions
• Store session ID in cookies
11. Alias
• Can remap entity names to something else
ERXRestNameRegistry.registry().setExternalNameForInternalName("Pos
t", BlogEntry.ENTITY_NAME);
• For attributes, use cover methods and ERXKey
13. Faking primary keys
• Might need more useful value for primary key, or hidding it
• Example: blog title instead of primary key
• Can redefine "id" for REST context
• Need a delegate
• Need to override default routes if id not numeric
15. Date formats
• Default patterns:
• NSTimestamp: %Y-%m-%dT%H:%M:%SZ
• Java Date and JodaTime LocalDate: yyyy-MM-dd'T'HH:mm:ssZ
• Can change the pattern for all controllers, by controller or
action
• Won't apply to WO components (HTML views)
16. Date formatting
• Differents formatters for NSTimestamp, Java dates and Joda Time
• er.rest.(timestamp|date|joda)Formatter (java.text.Format object)
• er.rest.(timestamp|date|joda)Format (String)
• er.rest.(timestamp|date|joda)Format.primary (String)
• er.rest.(timestamp|date|joda)Format.secondary (String)
17. Date formatting
• Cascade:
• er.rest.(timestamp|date|joda)Formatter (from context)
• er.rest. (timestamp|date|joda) Format (from context)
• er.rest. (timestamp|date|joda) Format (from properties)
• If value contains a space:
• er.rest. (timestamp|date|joda) Format.secondary
• If value don't contains a space:
• er.rest.(timestamp|date|joda) Format.primary
21. Transactions
• Was built to support Dojo
• Allow queuing transactions, commit later
• Client send transaction state, client id and sequence id
• Set ERXRest.transactionsEnabled to true
• Need to store session ID in cookies
public Session() {
setStoresIDsInCookies(true);
}
23. Redirections
• Title of blog is different? Need to send old URLs to new one
• Must keep track of older title...
• EOF and changes notifications to the rescue!
24. Adding caching
• Why send the same data if it doesn't change?
• Browsers have cache
• Client APIs could cache too
• Again, changes notifications to the rescue!
25. What we need
• Unique ID
• title() + "_" + primaryKey()
• Entity to keep track of current state
• Etag value
• Last modified timestamp
• Primary key value
• State (inserted, updated, deleted)
• Entity to keep track of history
• Using change notifications to populate state and history
28. Adding non-EO support
• Needs delegate for non-EO
• Can use strings instead of ERXKey
• Extends from ERXAbstractRestDelegate
• Implements logic that finds objects and “primary keys”
29. JSON Schema
• Was added for Dojo JsonRestStore
• But also useful for documenting your REST services
• Add this to the URL:
?schema=true
• Add this to your action:
if (isSchemaRequest()) {
return schemaResponse(showFilter());
}