The document discusses XML-free programming using Java for server and client development. It presents three tenets: 1) Configuration lives with the code using annotations rather than XML, 2) Data transfer models the domain using JSON rather than XML, and 3) Programming languages should be designed for humans not machines using simpler languages like Java rather than XML-based languages. It provides examples comparing XML and alternative approaches like Groovy for each tenet.
Lab session given at OSCON Java 2011:
Visage is the successor to the JavaFX Script Language, a domain-specific language for writing UIs. It excels at rapid application design and can be used on any platform that supports Java. In this lab you will have an opportunity to write Visage applications that deploy to and run on Android mobile devices. No prior experience with Android or Visage development is required.
Lab session given at OSCON Java 2011:
Visage is the successor to the JavaFX Script Language, a domain-specific language for writing UIs. It excels at rapid application design and can be used on any platform that supports Java. In this lab you will have an opportunity to write Visage applications that deploy to and run on Android mobile devices. No prior experience with Android or Visage development is required.
Overview of the JSON-RPC mechanism.
JSON-RPC is a simple RPC (Remote Procedure Call) mechanism, similar to XML-RPC.
Unlike XML-RPC which is a client-server protocol, JSON-RPC is a peer-to-peer protocol.
It uses JSON (Javascript Object Notation, RFC4627) as the serialization format and plain TCP streams or HTTP as transport mechanism.
JSON-RPC defines the three message types Request, Response and Notification. There is no direct mapping of JSON-RPC message to HTTP request. HTTP or plain TCP are merely transport protocols that carry JSON-RPC messages.
JSON-RPC is a simple protocol and therefore lacks most of the features that big web services like SOAP/WSDL and the WS-* standards provide. JSON-RPC may be suited for web service applications with the need for bidirectional interaction (peer2peer), but where the complexity of SOAP is not required.
Abstract:
Jini has served Orbitz well, but at the cost of tight coupling due in part to shared code and Java™ platform serialization rules. To improve agility, Orbitz is migrating to a RESTful Web services architecture using protocol buffers to define message formats. The result is loosely coupled services with autonomous lifecycles supporting evolvability and innovative mashup-style development.
This session is intended for experienced architects and tech leads who are familiar with distributed systems and data encoding methods.
It covers
• Using document schemas to constitute language-neutral contracts
• Using standard HTTP plumbing and intermediaries
• Implementing a reverse proxy for request routing based on RESTful URLs
• Applying OLAs for governance and service isolation
• Writing automated service layer tests to ensure backward compatibility
This presentation shall address the web2py web framework, my favorite way to develop web apps.
web2py is a free, open-source web framework for agile development of secure database-driven web applications; it is written in Python and programmable in Python. web2py is a full-stack framework, meaning that it contains all the components you need to build fully functional web applications.
Ease of use is the primary goal for web2py. For us, this means reducing the learning and deployment time. This is why web2py is a full-stack framework without dependencies. It requires no installation and has no configuration files. Everything works out of the box, including a web server, database and a web-based IDE that gives access to all the main features.
I will show you why web2py can make you more productive by bringing the result of a reflection over the best ideas of the most popular MVC based web frameworks enforcing the best practices for a fast, scalable and secure web application with minimal effort. There will be a live demo where you can get a faster grasp on how does it work and how fun it can be.
For more: www.web2py.com
Groovy Domain Specific Languages - SpringOne2GX 2012Guillaume Laforge
Paul King, Andrew Eisenberg and Guillaume Laforge present about implementation of Domain-Specific Languages in Groovy, while at the SpringOne2GX 2012 conference in Washington DC.
From the current offensive and defensive technique arsenal, memory analysis applied to volatile memory is far from being the most explored channel. It is more likely to hear about input validation attacks or attacks against the protocol & cryptography while keys, passphrases, credit card numbers and other precious artifacts are kept unsafely in memory. This analysis arises as a mine waiting to be explored since it is sustained by one of the most vulnerable and unavoidable resource to systems, memory. From Java to Stuxnex, as well as Windows but without forgetting the Cloud, I will try to show some scenarios where these techniques can be applied, its impact as a threat and bring an important and fun subject not just to those who work in forensics but also to penetration testers as myself. Finally, I will also try to show how can this be used for defensive technologies as tools for monitoring and protection in networks with systems in production.
Overview of the JSON-RPC mechanism.
JSON-RPC is a simple RPC (Remote Procedure Call) mechanism, similar to XML-RPC.
Unlike XML-RPC which is a client-server protocol, JSON-RPC is a peer-to-peer protocol.
It uses JSON (Javascript Object Notation, RFC4627) as the serialization format and plain TCP streams or HTTP as transport mechanism.
JSON-RPC defines the three message types Request, Response and Notification. There is no direct mapping of JSON-RPC message to HTTP request. HTTP or plain TCP are merely transport protocols that carry JSON-RPC messages.
JSON-RPC is a simple protocol and therefore lacks most of the features that big web services like SOAP/WSDL and the WS-* standards provide. JSON-RPC may be suited for web service applications with the need for bidirectional interaction (peer2peer), but where the complexity of SOAP is not required.
Abstract:
Jini has served Orbitz well, but at the cost of tight coupling due in part to shared code and Java™ platform serialization rules. To improve agility, Orbitz is migrating to a RESTful Web services architecture using protocol buffers to define message formats. The result is loosely coupled services with autonomous lifecycles supporting evolvability and innovative mashup-style development.
This session is intended for experienced architects and tech leads who are familiar with distributed systems and data encoding methods.
It covers
• Using document schemas to constitute language-neutral contracts
• Using standard HTTP plumbing and intermediaries
• Implementing a reverse proxy for request routing based on RESTful URLs
• Applying OLAs for governance and service isolation
• Writing automated service layer tests to ensure backward compatibility
This presentation shall address the web2py web framework, my favorite way to develop web apps.
web2py is a free, open-source web framework for agile development of secure database-driven web applications; it is written in Python and programmable in Python. web2py is a full-stack framework, meaning that it contains all the components you need to build fully functional web applications.
Ease of use is the primary goal for web2py. For us, this means reducing the learning and deployment time. This is why web2py is a full-stack framework without dependencies. It requires no installation and has no configuration files. Everything works out of the box, including a web server, database and a web-based IDE that gives access to all the main features.
I will show you why web2py can make you more productive by bringing the result of a reflection over the best ideas of the most popular MVC based web frameworks enforcing the best practices for a fast, scalable and secure web application with minimal effort. There will be a live demo where you can get a faster grasp on how does it work and how fun it can be.
For more: www.web2py.com
Groovy Domain Specific Languages - SpringOne2GX 2012Guillaume Laforge
Paul King, Andrew Eisenberg and Guillaume Laforge present about implementation of Domain-Specific Languages in Groovy, while at the SpringOne2GX 2012 conference in Washington DC.
From the current offensive and defensive technique arsenal, memory analysis applied to volatile memory is far from being the most explored channel. It is more likely to hear about input validation attacks or attacks against the protocol & cryptography while keys, passphrases, credit card numbers and other precious artifacts are kept unsafely in memory. This analysis arises as a mine waiting to be explored since it is sustained by one of the most vulnerable and unavoidable resource to systems, memory. From Java to Stuxnex, as well as Windows but without forgetting the Cloud, I will try to show some scenarios where these techniques can be applied, its impact as a threat and bring an important and fun subject not just to those who work in forensics but also to penetration testers as myself. Finally, I will also try to show how can this be used for defensive technologies as tools for monitoring and protection in networks with systems in production.
Ten practical ways to improve front-end performanceAndrew Rota
Conference talk presented at PHP South Coast 2017. Ten concrete ways to improve web performance, split between quick tactical wins and longer-term overarching strategies.
ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...Codemotion
Front-end development has an amazing assortment of libraries and tools, yet it can seem very complex and doest seem much fun. So we'll live code a ClojureScript application (with a bit of help from Git) and show how development doesn't have to be complex or slow. Through live evaluation, we can build a reactive, functional application. Why not take a look at a well designed language that uses modern functional & reactive concepts for building Front-End apps. You are going to have to trans-pile anyway, so why not use a language, libraries and tooling that is bursting with fun to use.
Translation Markup Language makes it easy to internationalize and localize your mobile applications written in Objective C or Swift. Once you install TMLKit SDK, your app will be immediately connected to over 50,000 professional translators around the world.
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Vadym Kazulkin
I will cover the features of Java versions 10 and 11 and what is expected for Java 12. I will also speak about the current status of the projects going on like Project Amber (simplifying syntax), Project Valhalla (Value Types and Specialized Generics), Project Loom (Fibers and Continuations) and Project Metropolis (GraalVM)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Red Hat Developers
JBoss EAP7 brings support for the most recent industry standards and technologies, including Java EE7, the latest edition of the premier enterprise development standard. This session will provide an overview of the major additions to Java EE7, and how your team can use these capabilities on the advanced EAP7 runtime to produce better applications with less code.
Engage 2023: Taking Domino Apps to the next level by providing a Rest APISerdar Basegmez
Apps to the next level by providing a Rest API
Session De13 from Engage User Group Conference 2023 with Tom Van Aken
"Providing RESTful APIs has become an increasingly common requirement in recent times. Whether you're just starting a new project or looking to level up your existing Notes/Domino application, finding the right approach is the key to success. By giving you some real-world scenario's and examples, this session will arm you with the knowledge and best practices to help you pick the right tools for the right job when it comes to performance, scalability, and security.
We'll also discuss pros and cons of the brand new Domino REST API (Project Keep) and custom development with Java or LotusScript. Don't miss this opportunity to uncover the hidden gems and avoid the pitfalls of integrating external systems with your Domino platform. Join us and be ready to take your platform to new heights!"
(25/April/2023)
GeeCON 2017 - TestContainers. Integration testing without the hassleAnton Arhipov
TestContainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Cross-Platform Data Access for Android and iPhonePeter Friese
Many Apps need to access data online. This talk discusses problems and solutions when accessing remote data with Android and iPhone. After a brief review of a number of frameworks, an approach is outlined to implement data access in a cross-platform manner using a DSL.
5 Skills To Force Multiply Technical Talents.pdfArun Gupta
This talk explains what are non-technical skills, why they are relevant, and what are some of the most important skills to master to force multiply your technical talent.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
XML-Free Programming : Java Server and Client Development without <>
1. XML-Free Programming : Java Server
and Client Development Without <>
Stephen Chin Arun Gupta
Chief Agile Methodologist, GXS Oracle Corporation
steveonjava@gmail.com arun.p.gupta@oracle.com
tweet: @steveonjava tweet: @arungupta
2. Meet the Presenters
Stephen Chin Arun Gupta
Community Guy
Family Man
Motorcyclist
Marathoner
3. Our Plan
> Quick (Humorous) History of Angle Brackets
> XML-Free Programming
1. Configuration Lives with the Code
2. Data Transfer Models the Domain
3. Design Programming Languages for Humans
> JavaOne Speakers Application <Demo>
3
4. Exhibit A – Angle Bracket Sighting in Virginia, 1922
Source: Library of Congress, Prints and Photographs Collection – Public Domain
http://www.flickr.com/photos/pingnews/434444310/
4
5. Exhibit B - Bermuda Tri-Angle Brackets
Source: NOAA National Ocean Service – CC licensed
http://www.flickr.com/photos/usoceangov/4276194691/sizes/o/in/photostream/
5
6. Exhibit C – Tim Bray, Co-Founder of XML
Source: Linux.com
http://www.linux.com/archive/feature/133149
6
7. History of XML
> Based on Standard Generalized Markup Language (SGML)
> Created by a W3C working group of eleven members
> Version History:
XML 1.0 (1998) – Widely adopted with 5 subsequent revisions
XML 1.1 (2004) – Limited adoption
7
8. XML Design Goals (a.k.a. problems with SGML)
1. Usable Over the Internet
2. Support a Wide Variety of Applications
3. Compatible with SGML
4. Easy to Write Programs to Process XML Documents
5. Minimum Number of Optional Features
6. Documents Should be Human-Legible and Reasonably Clear
7. Design Should be Prepared Quickly
8. Design Should be Formal and Concise
9. Documents Should be Easy to Create
10. Terseness in Markup is of Minimal Importance
8
9. Design Goals Per Application
Publishing Configuration Data Transfer Programming
Usable Over Internet Important N/A Important N/A
Wide Variety of Applications Acceptable Negative N/A N/A
Compatible With SGML Important Negative Negative Negative
Computer Processable Important Important Important Important
No Optional Features Important Important Important Important
Human-Legible Important Important Acceptable Important
Design Completed Quickly Important N/A N/A N/A
Formal and Concise Spec Important Important Important N/A
Easy to Create Documents Important Important N/A Important
Markup Can be Verbose Negative Negative Negative Negative
9
11. Letting Go of XML is Hard!
This is not intended as a replacement for Spring's XML format.
Rod Johnson on Spring’s Annotations-based Configuration
“A Java configuration option for Spring,” 11/28/06
11
13. But There is Hope!
You can have a Groovy DSL … it is as short as can be.
Dierk Koenig on Canoo Web Test
“Interview with Dierk Koenig,” ThirstyHead.com 6/3/2009
13
16. JavaScript Object Notation (JSON)
> Matches Relational/Object-Oriented Structures
> Easy to Read and Write
> Simple to Parse and Generate
> Familiar to Programmers of the C-family of languages:
C, C++, C#, Java, JavaScript, Perl, Python, etc.
> Very Simple Specification
16
17. JSON Syntax in a Slide
Images courtesy: http://www.json.org/
17
20. Counter Example – o:XML
> Created By Martin Klang in 2002
> Object Oriented Language
> Features:
Poymorphism
Function Overloading
Exception Handling Diagram from: http://www.o-xml.org/documentation/o-xml-tool-chain.html
Threads
20
21. String Replacement in o:XML vs. Java
<?xml-stylesheethref="../xsl/default.xsl" type="text/xsl"?> class Replace {
<program> public String replace(String input, String from, String to) {
<o:function name="ex:replace"> StringBuilder result = new StringBuilder();
<o:param name="input" type="String"/> int last = 0;
<o:param name="from" type="String"/> int index = 0;
<o:param name="to" type="String"/> while ((index = input.indexOf(from, last)) != -1) {
<o:do> result.append(input.substring(last, index));
16 Lines
<o:variable name="result"/> 14 Lines
result.append(to);
<o:while test="contains($input, $from)"> last = index + from.length()
461 Characters
<o:set result="concat($result, substring-before($input,
$from), $to)"/>
} 319 Characters
result.append(input.substring(last));
<o:set input="substring-after($input, $from)"/> return result.toString();
</o:while> }
<o:return select="concat($result, $input)"/> }
</o:do>
</o:function>
</program>
21
23. Equivalent Java
class Replace {
public String replace(String input, String from, String to) {
StringBuilder result = new StringBuilder();
int last = 0;
int index = 0;
while ((index = input.indexOf(from, last)) != -1) {
result.append(input.substring(last, index));
result.append(to);
last = index + from.length()
}
result.append(input.substring(last));
return result.toString();
}
}
23
25. JavaFX 2.0
> Powerful graphics, animation, and media capabilities
> Deploys in the browser or on desktop
> Includes builders for declarative construction
> Alternative languages can also be used for simpler UI creation
GroovyFX
ScalaFX
Visage
25
26. Hello JavaOne (Java Version)
public class HelloJavaOne extends Application {
public static void main(String[] args) {
launch(HelloJavaOne.class, args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello JavaOne");
Group root = new Group();
Scene scene = new Scene(root, 400, 250, Color.ALICEBLUE);
Text text = new Text();
text.setX(105);
text.setY(120);
text.setFont(new Font(30));
text.setText("Hello JavaOne");
root.getChildren().add(text);
primaryStage.setScene(scene);
primaryStage.show();
}
}
26
29. Hello JavaOne (ScalaFX Version)
object HelloJavaOne extends JFXApp {
stage = new Stage {
title = "Hello JavaFX"
width = 400
height = 250
scene = new Scene {
fill = BLUE
Text {
x = 105
y = 120
text = "Hello JavaOne"
font = Font(size: 30)
}
}
}
}
29
30. Hello JavaOne (Visage Version)
Stage {
title: "Hello JavaOne"
width: 400
height: 250
scene: Scene {
fill: BLUE
content: Text {
x: 105
y: 120
text: "Hello JavaOne"
font: Font {size: 30pt}
}
}
}
30
31. JavaOne Speakers Application
> End-to-end application with no XML coding
> Server written using JavaEE 6 annotations
> Data transfer uses JSON
> Client written in JavaFX 2.0
31
33. Support the Freedom From XML Petition </>
http://steveonjava.com/freedom-from-xml/
Provide Non-XML Alternatives For:
> Declarative Programming
> Configuration
> Data Transfer
Sign the Petition Today!
33