The history of programming languages shows a progressive development from low-level programming languages close to the machine, to high-level languages close to the problems being solved with software. Domain-specific languages take this a step further than general purpose programming languages by making assumptions about the class of applications for which the language is intended. Complete applications typically require programs in multiple (technical) domains, which can be catered for by separate domain-specific languages. While such separation of concerns is beneficial for domain expressivity, it often leads to loose coupling and lack of static verification. Hence, the design of individual DSLs needs to be complemented with their linguistic integration.
In this talk, I illustrate these ideas with the design of WebDSL, a domain-specific language for data centric web applications. WebDSL linguistically integrates the definition of data models, user interfaces, actions, access control rules, data validation rules, styling rules, and workflow definitions. While maintaining separation between these concerns through specialized sub-languages, linguistic integration ensures static consistency checking and correct code generation. The language allows developers to concentrate on the essential design of web applications, abstracting from accidental complexity, such as the details of data persistence. The combination of high-level and low-level constructs ensures high expressivity, while supporting customization to application requirements.
A view on architectural considerations and models for the emerging context of software plus services and in view of technologies such as Windows Azure.
The document describes WebWorkFlow, an object-oriented workflow modeling language. It discusses three design principles: linguistic integration, abstraction layers, and process expressions. WebWorkFlow aims to provide both a concise, high-level language using process expressions as well as a more verbose, low-level procedural workflow specification using WebDSL. The status and execution of workflows are encoded through procedure events and by keeping state in the objects workflows operate on.
Accelrys Enterprise Platform scales from laptops to grids, but can how does it do that and how can it scale to meet the demands of an Enterprise Application? Enterprise Architects and Developers will get a detailed view of how Pipeline Pilot handles job management, job queuing, job pooling, security, memory management, process isolation and more. This session provides background information that will support later presentations in the platform and developers tracks.
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...Alfresco Software
This session provides a technical overview of implementing a complex publishing solution using Alfresco and Componize—open source enterprise publishing product built on Alfresco. We will discuss how a client publishing solution based on traditional word processing software and proprietary DITA publishing tools was redesigned and, much more simply, implemented through Componize and Alfresco. This session will not only demonstrate the power and flexibility of the open source model to solve these types of business problems, but also highlight key usability advantages of the Aflresco/Componize solution.
Presenter manual RIA technology (specially for summer interns)XPERT INFOTECH
XPERT INFOTECH imparts qualitative training in .NET, ASP.NET, PHP, PHP++, JAVA, J2EE, ORACLE DBA, ORALE D2K, RIA, SEO, WEB DEVELOPMENT, MOBILE APPLICATIONS DEVELOPMENT, ANDROID and other latest technologies. The training is designed for the BCA/MCA/B.E./B-Tech students who want to speed up their technical skills and proficiencies into real time development environment.
This document discusses building rich internet applications using Oracle Application Development Framework (ADF) and JDeveloper. It provides an overview of the Oracle Fusion stack including ADF, SOA Suite, and WebCenter. It describes the challenges of developing applications across many technologies and how ADF abstracts complexity through its MVC architecture. ADF Faces, Controller, and Model components are highlighted. Visual and declarative development in JDeveloper is emphasized as a way to improve productivity when building applications on the Fusion platform.
The document discusses establishing proper governance for portal management. It outlines setting the stage for portal governance by defining why it is needed, what aspects can be governed, and how to develop a governance framework. The framework establishes roles, responsibilities, and policies around portal management. It also identifies 14 tactical areas that can be governed, such as user roles, content publishing, and search. Governance ensures consistent behaviors across the portal by defining who is responsible for what aspects and the decision-making processes.
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
The Accelrys Enterprise Platform is an integration and application platform that allows for a spectrum of deployment options from personal productivity to enterprise architectures. It provides connectivity through web services, data integration, and application integration. The platform architecture supports various client interfaces and deployments ranging from laptop to HPC environments. Future directions include increased focus on mobile, web standards, security standards, and performance while expanding deployment options like the cloud.
A view on architectural considerations and models for the emerging context of software plus services and in view of technologies such as Windows Azure.
The document describes WebWorkFlow, an object-oriented workflow modeling language. It discusses three design principles: linguistic integration, abstraction layers, and process expressions. WebWorkFlow aims to provide both a concise, high-level language using process expressions as well as a more verbose, low-level procedural workflow specification using WebDSL. The status and execution of workflows are encoded through procedure events and by keeping state in the objects workflows operate on.
Accelrys Enterprise Platform scales from laptops to grids, but can how does it do that and how can it scale to meet the demands of an Enterprise Application? Enterprise Architects and Developers will get a detailed view of how Pipeline Pilot handles job management, job queuing, job pooling, security, memory management, process isolation and more. This session provides background information that will support later presentations in the platform and developers tracks.
CASE-6 Structured Content Authoring and Publishing through Alfresco and Compo...Alfresco Software
This session provides a technical overview of implementing a complex publishing solution using Alfresco and Componize—open source enterprise publishing product built on Alfresco. We will discuss how a client publishing solution based on traditional word processing software and proprietary DITA publishing tools was redesigned and, much more simply, implemented through Componize and Alfresco. This session will not only demonstrate the power and flexibility of the open source model to solve these types of business problems, but also highlight key usability advantages of the Aflresco/Componize solution.
Presenter manual RIA technology (specially for summer interns)XPERT INFOTECH
XPERT INFOTECH imparts qualitative training in .NET, ASP.NET, PHP, PHP++, JAVA, J2EE, ORACLE DBA, ORALE D2K, RIA, SEO, WEB DEVELOPMENT, MOBILE APPLICATIONS DEVELOPMENT, ANDROID and other latest technologies. The training is designed for the BCA/MCA/B.E./B-Tech students who want to speed up their technical skills and proficiencies into real time development environment.
This document discusses building rich internet applications using Oracle Application Development Framework (ADF) and JDeveloper. It provides an overview of the Oracle Fusion stack including ADF, SOA Suite, and WebCenter. It describes the challenges of developing applications across many technologies and how ADF abstracts complexity through its MVC architecture. ADF Faces, Controller, and Model components are highlighted. Visual and declarative development in JDeveloper is emphasized as a way to improve productivity when building applications on the Fusion platform.
The document discusses establishing proper governance for portal management. It outlines setting the stage for portal governance by defining why it is needed, what aspects can be governed, and how to develop a governance framework. The framework establishes roles, responsibilities, and policies around portal management. It also identifies 14 tactical areas that can be governed, such as user roles, content publishing, and search. Governance ensures consistent behaviors across the portal by defining who is responsible for what aspects and the decision-making processes.
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
The Accelrys Enterprise Platform is an integration and application platform that allows for a spectrum of deployment options from personal productivity to enterprise architectures. It provides connectivity through web services, data integration, and application integration. The platform architecture supports various client interfaces and deployments ranging from laptop to HPC environments. Future directions include increased focus on mobile, web standards, security standards, and performance while expanding deployment options like the cloud.
The document discusses various topics related to web metrics and analytics tools. It provides an overview of factors to consider when choosing tools, such as organizational needs, costs, implementation challenges, and level of sophistication required. It also covers specific metrics like visitor acquisition, segmentation, time on site, click density and heat maps. The document emphasizes focusing on a handful of key performance indicators rather than all possible metrics, and approaches like optimizing the customer journey and lifecycle. Overall it provides guidance on setting up an effective analytics program.
The document discusses the OpenLaszlo platform, which was built using Python (Jython) for rapid prototyping. It describes how the platform allows embedding JavaScript in XML documents and compiles this to ActionScript byte code. While Python enabled fast development, performance issues arose which required porting components to Java and pre-initializing applications. The document also covers the constraint system and documentation tools built for OpenLaszlo.
Architecting solutions connecting to lob applicationsmicrosoftasap
This document discusses connecting SharePoint to line of business (LOB) applications and external data sources. It provides an overview of Microsoft's Business Connectivity Services (BCS) which allows integrating back-end business data into SharePoint without custom coding. BCS enables connecting to various data sources, displaying and interacting with external data in SharePoint lists and libraries, and integrating the data into Office client applications. The document highlights the key capabilities and improvements in BCS.
Describes how to use functional programming techniques with JavaScript, with specific examples around AJAX XHR requests. Presented at Ajax Experience 2008.
You can run the samples and view additional descriptions http://osteele.dev/talks/ajaxian-2008/samples/.
Force.com allows developers to build custom user interfaces using Visualforce pages. Visualforce pages use HTML and custom tags to create templates that can incorporate standard Salesforce functionality as well as custom Apex code. This provides a fully customizable and programmable user experience. Over 110,000 custom user interfaces have been created using Visualforce.
The document discusses role-based and application specific clients for product lifecycle management (PLM) systems. It defines these clients as user interfaces that are tailored to specific tasks by removing unnecessary functions, consolidating relevant information, and localizing for the user's environment. The goals are to increase adoption rates by making the system easier for casual users and to engage stubborn users by adapting to their needs. While standardized clients reduce costs, role-based clients can boost efficiency. Examples provided include barcode and touchscreen interfaces. The document recommends driving client design from the data model and using web services for security. It provides examples of simple portal clients built in HTML and ASPX with code samples for authentication against the PLM system.
This document discusses various technologies related to mobile computing and Java EE architecture. It covers topics such as instant messaging, location-based services, push mail, synchronization, load balancing, caching, and distributed task processing. For each topic, it provides an overview and then discusses different architectural approaches and technologies that can be used to address issues like high availability, scalability, and failure handling in distributed environments.
The document discusses PassKit on iOS 6 and describes what a Pass is, how to create and manage Passes, how companion apps interact with Passes, and how Passes are scanned. Key points include:
- A Pass contains a barcode, images, and JSON data and is distributed as a signed ZIP file.
- Developers create Pass Types, generate and sign Passes, and host a web service to manage Passes.
- Passbook stores and renders Passes, companion apps can access Pass data, and scanning apps authenticate and update Pass information.
The document discusses different types of email applications, including one-way broadcast services like mailing lists and Google Alerts that send requested information to users, command line interfaces that allow users to email commands and receive responses, data transfer services that parse forwarded emails and extract structured data, and intelligent agents that enrich structured email data by retrieving related information from other sites. Examples provided include TripIt, Flickr, Blogger, I Want Sandy, and services for tracking shipments and flights.
Gartner puts Microsoft in a virtual tie for first place in its ECM quadrant. But SharePoint is a relative newcomer to the ECM world.
How does it really stack up?
Download the presentation as C/D/H examines SharePoint 2007's ECM/ERM functionality, and look ahead to the major improvements in SharePoint 2010
PassKit on iOS 6 allows apps to use digital passes that contain barcodes, images, and other data. Passes are stored in the Passbook app and can be updated via push notifications. Developers create passes by generating a signed ZIP file containing JSON and image files, then distribute them via a companion app or web service. Scanning apps can read pass data and update backend servers in real-time. Cross-platform libraries allow creating and reading passes from Android and other platforms.
SharePoint Careers and Introduction to SharePoint 2013 Services and TopologyEli Robillard
Eli Robillard is a thought leader and educator in SharePoint architecture with over 6 years of experience as a Microsoft MVP. He has co-founded groups to support the SharePoint community and works with PricewaterhouseCoopers on a global SharePoint platform. In his personal time, Eli enjoys spending time with his family and dog.
SharePoint is a set of integrated technologies that provides a platform for organizations to build a flexible, long-term information and knowledge management infrastructure. SharePoint has gained over 250 million users in a few years and continues growing as customers apply it to more business processes. SharePoint is also increasingly becoming a compelling development platform with advanced capabilities in the 2010 release.
The document provides an overview of the Lombardi Teamworks product, including its architecture, deployment topology, and key components. It discusses the model-driven approach, shared process model, and integrated platform for rapid development. Key capabilities mentioned include process modeling, simulation, optimization, integration, and human workflow features.
Partying with PHP (…and the Microsoft Platform)goodfriday
Learn how to spice up PHP using the unique features of the Microsoft platform. PHP is the center of attention as you learn to build and run a PHP application on Microsoft Internet Information Services 7, and also mingle with the Microsoft AJAX library.
Interactive Forms Review - SDN Day 2008 - Las Vegasdr.j
The document discusses a partnership between Adobe and SAP to integrate interactive PDF forms into SAP applications. It provides an overview of how interactive forms can be used for both online and offline scenarios to improve business processes. It also demonstrates the runtime architecture and gives an example of how interactive forms could be used for lead processing in SAP CRM.
The document discusses the fundamentals of HTML5, including new semantic markup elements, JavaScript APIs, native multimedia support, updated forms, storage, and geolocation capabilities. It provides an overview of these new features and includes code examples to demonstrate the canvas element, forms, web storage, and geolocation. HTML5 aims to improve semantics, add rich multimedia without plugins, and enhance capabilities through JavaScript APIs and web applications.
Social Photos is an online social network for photographers and photo lovers. Users can take photos and share them on the network. Other users can like, dislike, or comment on photos. The network also integrates location-based features so photos can be listed near the location where they were taken. The social network is built using various Microsoft and non-Microsoft technologies integrated seamlessly. It uses technologies like Entity Framework, WCF data services, OData, and supports multiple client platforms like Windows Phone, Android, iOS, and web clients.
In this presentation we cover the main features of BI Dashboard with SQL Server 2008 R2.
Regards,
Eduardo Castro Martinez
Microsoft SQL Server MVP
http://ecastrom.blogspot.com
Model-Driven Software Development - Web Abstractions 2Eelco Visser
This document summarizes a lecture on modeling web applications. It discusses modeling web programs, software systems, and languages. It covers web abstractions like access control policies, data validation, workflow, AJAX, and search. It provides details on access control mechanisms, policies, representations, and rules. It also discusses data validation types and rules. Finally, it mentions workflow modeling for web applications.
This document provides an overview of the third edition of the book "Investment Banking: The Dream Begins". The book has been restructured and divided into four parts, with part one introducing investment banking and discussing equity offerings and private equity. Part two covers financial statements, part three discusses valuation methods, and part four provides a step-by-step guide to valuation. The book aims to explain investment banking concepts in simple terms for those new to the field. It covers topics such as financial analysis, valuation tools, comparable company and deal analysis to help readers understand business valuation.
The document discusses various topics related to web metrics and analytics tools. It provides an overview of factors to consider when choosing tools, such as organizational needs, costs, implementation challenges, and level of sophistication required. It also covers specific metrics like visitor acquisition, segmentation, time on site, click density and heat maps. The document emphasizes focusing on a handful of key performance indicators rather than all possible metrics, and approaches like optimizing the customer journey and lifecycle. Overall it provides guidance on setting up an effective analytics program.
The document discusses the OpenLaszlo platform, which was built using Python (Jython) for rapid prototyping. It describes how the platform allows embedding JavaScript in XML documents and compiles this to ActionScript byte code. While Python enabled fast development, performance issues arose which required porting components to Java and pre-initializing applications. The document also covers the constraint system and documentation tools built for OpenLaszlo.
Architecting solutions connecting to lob applicationsmicrosoftasap
This document discusses connecting SharePoint to line of business (LOB) applications and external data sources. It provides an overview of Microsoft's Business Connectivity Services (BCS) which allows integrating back-end business data into SharePoint without custom coding. BCS enables connecting to various data sources, displaying and interacting with external data in SharePoint lists and libraries, and integrating the data into Office client applications. The document highlights the key capabilities and improvements in BCS.
Describes how to use functional programming techniques with JavaScript, with specific examples around AJAX XHR requests. Presented at Ajax Experience 2008.
You can run the samples and view additional descriptions http://osteele.dev/talks/ajaxian-2008/samples/.
Force.com allows developers to build custom user interfaces using Visualforce pages. Visualforce pages use HTML and custom tags to create templates that can incorporate standard Salesforce functionality as well as custom Apex code. This provides a fully customizable and programmable user experience. Over 110,000 custom user interfaces have been created using Visualforce.
The document discusses role-based and application specific clients for product lifecycle management (PLM) systems. It defines these clients as user interfaces that are tailored to specific tasks by removing unnecessary functions, consolidating relevant information, and localizing for the user's environment. The goals are to increase adoption rates by making the system easier for casual users and to engage stubborn users by adapting to their needs. While standardized clients reduce costs, role-based clients can boost efficiency. Examples provided include barcode and touchscreen interfaces. The document recommends driving client design from the data model and using web services for security. It provides examples of simple portal clients built in HTML and ASPX with code samples for authentication against the PLM system.
This document discusses various technologies related to mobile computing and Java EE architecture. It covers topics such as instant messaging, location-based services, push mail, synchronization, load balancing, caching, and distributed task processing. For each topic, it provides an overview and then discusses different architectural approaches and technologies that can be used to address issues like high availability, scalability, and failure handling in distributed environments.
The document discusses PassKit on iOS 6 and describes what a Pass is, how to create and manage Passes, how companion apps interact with Passes, and how Passes are scanned. Key points include:
- A Pass contains a barcode, images, and JSON data and is distributed as a signed ZIP file.
- Developers create Pass Types, generate and sign Passes, and host a web service to manage Passes.
- Passbook stores and renders Passes, companion apps can access Pass data, and scanning apps authenticate and update Pass information.
The document discusses different types of email applications, including one-way broadcast services like mailing lists and Google Alerts that send requested information to users, command line interfaces that allow users to email commands and receive responses, data transfer services that parse forwarded emails and extract structured data, and intelligent agents that enrich structured email data by retrieving related information from other sites. Examples provided include TripIt, Flickr, Blogger, I Want Sandy, and services for tracking shipments and flights.
Gartner puts Microsoft in a virtual tie for first place in its ECM quadrant. But SharePoint is a relative newcomer to the ECM world.
How does it really stack up?
Download the presentation as C/D/H examines SharePoint 2007's ECM/ERM functionality, and look ahead to the major improvements in SharePoint 2010
PassKit on iOS 6 allows apps to use digital passes that contain barcodes, images, and other data. Passes are stored in the Passbook app and can be updated via push notifications. Developers create passes by generating a signed ZIP file containing JSON and image files, then distribute them via a companion app or web service. Scanning apps can read pass data and update backend servers in real-time. Cross-platform libraries allow creating and reading passes from Android and other platforms.
SharePoint Careers and Introduction to SharePoint 2013 Services and TopologyEli Robillard
Eli Robillard is a thought leader and educator in SharePoint architecture with over 6 years of experience as a Microsoft MVP. He has co-founded groups to support the SharePoint community and works with PricewaterhouseCoopers on a global SharePoint platform. In his personal time, Eli enjoys spending time with his family and dog.
SharePoint is a set of integrated technologies that provides a platform for organizations to build a flexible, long-term information and knowledge management infrastructure. SharePoint has gained over 250 million users in a few years and continues growing as customers apply it to more business processes. SharePoint is also increasingly becoming a compelling development platform with advanced capabilities in the 2010 release.
The document provides an overview of the Lombardi Teamworks product, including its architecture, deployment topology, and key components. It discusses the model-driven approach, shared process model, and integrated platform for rapid development. Key capabilities mentioned include process modeling, simulation, optimization, integration, and human workflow features.
Partying with PHP (…and the Microsoft Platform)goodfriday
Learn how to spice up PHP using the unique features of the Microsoft platform. PHP is the center of attention as you learn to build and run a PHP application on Microsoft Internet Information Services 7, and also mingle with the Microsoft AJAX library.
Interactive Forms Review - SDN Day 2008 - Las Vegasdr.j
The document discusses a partnership between Adobe and SAP to integrate interactive PDF forms into SAP applications. It provides an overview of how interactive forms can be used for both online and offline scenarios to improve business processes. It also demonstrates the runtime architecture and gives an example of how interactive forms could be used for lead processing in SAP CRM.
The document discusses the fundamentals of HTML5, including new semantic markup elements, JavaScript APIs, native multimedia support, updated forms, storage, and geolocation capabilities. It provides an overview of these new features and includes code examples to demonstrate the canvas element, forms, web storage, and geolocation. HTML5 aims to improve semantics, add rich multimedia without plugins, and enhance capabilities through JavaScript APIs and web applications.
Social Photos is an online social network for photographers and photo lovers. Users can take photos and share them on the network. Other users can like, dislike, or comment on photos. The network also integrates location-based features so photos can be listed near the location where they were taken. The social network is built using various Microsoft and non-Microsoft technologies integrated seamlessly. It uses technologies like Entity Framework, WCF data services, OData, and supports multiple client platforms like Windows Phone, Android, iOS, and web clients.
In this presentation we cover the main features of BI Dashboard with SQL Server 2008 R2.
Regards,
Eduardo Castro Martinez
Microsoft SQL Server MVP
http://ecastrom.blogspot.com
Model-Driven Software Development - Web Abstractions 2Eelco Visser
This document summarizes a lecture on modeling web applications. It discusses modeling web programs, software systems, and languages. It covers web abstractions like access control policies, data validation, workflow, AJAX, and search. It provides details on access control mechanisms, policies, representations, and rules. It also discusses data validation types and rules. Finally, it mentions workflow modeling for web applications.
This document provides an overview of the third edition of the book "Investment Banking: The Dream Begins". The book has been restructured and divided into four parts, with part one introducing investment banking and discussing equity offerings and private equity. Part two covers financial statements, part three discusses valuation methods, and part four provides a step-by-step guide to valuation. The book aims to explain investment banking concepts in simple terms for those new to the field. It covers topics such as financial analysis, valuation tools, comparable company and deal analysis to help readers understand business valuation.
VBA (Visual Basic for Applications) is a widely used programming language in the banking industry that allows users to automate tasks and processes in Microsoft Excel. VBA is embedded in Excel and can also be used in other Microsoft applications like Access and PowerPoint. It is used across all departments in banks, from front office trading to middle and back office functions, to automate daily tasks that would otherwise be time-consuming if done manually. Having skills in VBA can provide advantages for one's career in the banking industry as it allows candidates to automate processes and demonstrate problem-solving abilities that make them stand out among competitors.
The document discusses domain specific languages (DSLs). It begins by introducing the speaker and their background. It then defines what a DSL is, including that it is a mini-language focused on solving problems in a specific domain. Examples of DSLs like SQL, regular expressions, and markup languages are provided. The document also discusses different types of DSLs and tools for creating them.
Python for Financial Data Analysis with pandasWes McKinney
This document discusses using Python and the pandas library for financial data analysis. It provides an overview of pandas, describing it as a tool that offers rich data structures and SQL-like functionality for working with time series and cross-sectional data. The document also outlines some key advantages of Python for financial data analysis tasks, such as its simple syntax, powerful built-in data types, and large standard library.
This document discusses using Python and R for quantitative finance. It describes leveraging these open-source technologies to limit development of low-level code and take advantage of existing libraries. Python is proposed as the main server-side language to interface with R for statistics and other technologies. Examples show sharing memory between Python and R, implementing a simple moving average calculation server, and using R packages for financial analysis.
The document provides an overview of the Indian financial system. It discusses that the financial system includes financial intermediaries like banks, mutual funds, and insurance companies; financial markets like money markets, capital markets, and derivatives markets; and financial assets/instruments like equity, debt, and indirect securities. The financial system mobilizes savings from households and channels them to corporations and governments through these various institutions and markets, in order to facilitate capital formation and meet short and long-term financing needs.
Investment banking assists companies and governments in raising capital by issuing and selling securities. It has two main functions - assisting the capital markets and helping companies raise money. Investment banking provides various primary market services like helping companies issue IPOs and bonds, and secondary market services like mergers and acquisitions advice. It raises capital for corporations and provides investment opportunities for individuals, with clients ranging from large corporations to small businesses. While investment banking helps facilitate capital raising and trading, it faces challenges in India from a lack of developed capital markets and institutional financing.
This report paper contains online banking system in j2ee component of java.also include system requirements,design modules,data flow diagrams, sequence diagrams and the architecture of online banking.
content:Introduction
Project requirements
System modules
User interface specification
Use case and data flow diagram’s
Introduction to share point 2010 developmentEric Shupps
This document provides an overview of key concepts and technologies in SharePoint, including:
1. Data storage, presentation, security, clustering, APIs, and Office integration features.
2. Core components like the farm, site collection, lists, content types, workflows, and solutions.
3. Technologies for developing SharePoint including sandboxes, web parts, controls, and LINQ to SharePoint.
4. Approaches to working with relational data and exposing data via REST APIs.
5. The client/server architecture with JavaScript, managed code, and services.
Java Online Training Institute in Hyderabad - C-Pointcpointss
C-Point Software Solutions is a Leading Training Institute in Hyderabad. We Provide Training on SAP, SAS, Oracle E Business Suite, Informatica, OBIEE, SQL DBA, Hadoop, Cloud Computing, .Net, Testing Tools, Java, Web Designing, PHP.
Share Point Presentation Introduction To Sharepointrpeterson1
This document provides an overview of SharePoint and where to begin implementing it. It outlines some session objectives, including reviewing SharePoint at a high level and where to start. Various SharePoint templates and features are then described in detail, such as team sites, document libraries, forms, business intelligence capabilities like Excel Services, and more. The document concludes by recommending reviewing business needs and identifying top requirements to focus initial implementation efforts.
Migrating Legacy On-Premise Applications to SharePoint Online and Windows AzureEric Shupps
This document discusses migrating legacy on-premise solutions to SharePoint Online and Windows Azure. It covers moving solutions to the cloud for benefits like flexibility, scalability, and pay-per-use costs while maintaining performance, stability, and recovery capabilities. Patterns are demonstrated for developing apps that connect to SQL databases and Office 365 using technologies like OAuth, REST, and JavaScript.
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
The document discusses various frameworks and patterns in Silverlight 4, including ASP.NET client application services, WCF data services, WCF RIA services, navigation, search, and extensibility with MEF. It provides an overview and demos of each technology. The presentation encourages attendees to check the schedule for additional in-depth sessions on topics like OData, WCF data services, WCF RIA services, navigation, search engine optimization, and MEF.
Peering through the Clouds - Cloud Architectures You Need to MasterClint Edmonson
Heard of elastic computing? Cloud-bursting? Off-line rendering? Join us in this session where we walk through the key cloud scenarios every developer should be familiar with and when and where each should be used. We’ll discuss how the architecture of each of these scenarios is realized using the Windows Azure cloud platform
Toronto Share Point Camp 2009 Social Computing With Share Point & Silverlig...Andy Nogueira
This is the Social Computing with SharePoint and Silverlight slide for the session I've presented at the Toronto SharePoint Code Camp 2009
http://www.torontosharepointcamp.com/Lists/Speakers/AllSpeakers.aspx
This document discusses layered architecture, Entity Framework (EF), Windows Communication Foundation (WCF), and a lab exercise. It includes definitions and concepts related to repositories, services, LINQ, generics, inheritance, interfaces, unit testing, attributes, and surrogate types. It also provides an example layered architecture solution with projects for presentation, business logic, data access, and entity layers along with use of a SQL Server database. The lab teaches layered design principles, EF usage in layered models, repository pattern implementation, unit testing of methods, writing WCF services, and cross-cutting concerns.
Oracle fusion dba Online Training is Offering at Glory IT Technologies. We have Certified Working Professionals on this Modules. They trained so many Global Students, We also Provides Corporate Training, Job/Project Support Services to oracle fusion dba. We are Only Institute Delivering Best Online Training Services to this Module.
Come learn about our new cloud-based storage service and how it addresses a number of business scenarios. This session introduces the new Microsoft SQL Server Data Services, as well as outlines business models and terms.
Come learn about our new cloud-based storage service and how it addresses a number of business scenarios. This session introduces the new Microsoft SQL Server Data Services, as well as outlines business models and terms
This document provides an overview and introduction to Microsoft SharePoint. It begins with an agenda that lists topics to be covered such as basic concepts, new features, web parts, and demonstrations. It then defines SharePoint as a rich server application for enterprise collaboration and content management. The rest of the document discusses basic concepts like the technology convergence that led to SharePoint, new features in SharePoint 2007 including Office forms, Excel services, and business data catalog, and how to work with web parts, features, and solutions in SharePoint. It concludes with demonstrations of portal creation, new features, web part development, and the solutions framework.
The document discusses patterns and practices for developing SharePoint solutions. It provides demonstrations of creating autohosted apps in SharePoint 2013, accessing SQL Azure data using WCF and JSON, setting the client context using CSOM, handling tokens and authorization, executing list queries via REST, and deploying solutions such as an Azure web role and an app to Office 365.
Building Cloud-Based Cross-Platform Mobile Web AppsJames Pearce
As presented at http://www.meetup.com/MobileCloud/events/17159747/
The web is always evolving, but we're witnessing a significant architectural shift as services migrate to the cloud, business logic moves to ever-thicker clients, and the web escapes the desktop to become a beautifully mobile medium.
In this environment, web application frameworks like Sencha Touch offer a new way of building mobile services using HTML5, CSS3, and JavaScript. We'll explore the possibilities that this rich, standards-based approach can bring, how to develop mobile web apps that look and feel native on iPhone, Android, and BlackBerry touch devices, and how to leverage the power of cloud-based services to provide scalable and compelling applications in this new world.
This document discusses software architecture concepts like WCF, EF, layered models, and TCM. It provides definitions and examples of concepts like repository pattern, service contracts, unit testing, LINQ expressions, attributes, inheritance, interfaces, surrogate types, extension methods, and cross-cutting concerns. It also includes examples of layered architecture with different layers like presentation, service, business logic, data access, and entity layers. Database concepts like tables, columns, stored procedures, functions and views are mapped to object-oriented concepts like classes, methods, properties, generics and attributes. Sample solutions demonstrating these concepts are also presented.
Architecting For The Windows Azure PlatformDavid Chou
This document discusses architecting applications for the Windows Azure platform. It provides an overview of application models that can be hosted on Azure, such as web and application hosting. It also presents several case studies of companies that developed applications for Azure to take advantage of its scalability, availability and cost benefits. Finally, it outlines common application patterns that are well-suited for Azure, such as cloud web applications, and discusses Azure's platform services.
This document provides an overview of web application architecture and security. It describes the typical layers of a web application including the browser, web server, application server, and database server. It then discusses various types of attacks against web applications like SQL injection, cross-site scripting, and hidden field manipulation. Finally, it outlines best practices for secure coding and system scanning to prevent vulnerabilities.
The document outlines the syllabus for a course on distributed application development technology. The 6 units cover topics such as introduction to .NET framework and web services, exchanging and transforming data with XML, programming with C#, server-side ASP.NET development, database access using ADO.NET, and advanced .NET concepts including remoting and security. Each unit provides an overview of the key concepts and technologies to be taught, such as XML, XSLT, C#, ASP.NET web forms, and ADO.NET for database connectivity. References for additional reading are also included.
This document provides an overview of Xamarin.Forms, which allows building cross-platform mobile apps with shared C# code and UI layouts. It lists over 40 pages, layouts and controls that can be built from code or XAML. Key features highlighted include two-way data binding, navigation, animation APIs, and messaging between shared and platform-specific code. Similarities and mappings between Xamarin.Forms and native platform controls are also outlined. An example XAML code snippet demonstrates basic login screen layout and data binding.
How can we rewrite our application to handle new challenges coming from applications that need to scale over the cloud? Use patterns, so you can use the best technology at every tier
Similar to Composing Domain-Specific Languages (20)
This document discusses syntactic editor services including formatting, syntax coloring, and syntactic completion. It describes how syntactic completion can be provided generically based on a syntax definition. The document also discusses how context-free grammars can be extended with templates to specify formatting layout when pretty-printing abstract syntax trees to text. Templates are used to insert whitespace, line breaks, and indentation to produce readable output.
This document provides an overview of parsing in compiler construction. It discusses context-free grammars and how they are used to generate sentences and parse trees through derivations. It also covers ambiguity that can arise from grammars and various grammar transformations used to eliminate ambiguity, including defining associativity and priority. The dangling else problem is presented as an example of an ambiguous grammar.
This document provides an overview of the Lecture 2 on Declarative Syntax Definition for the CS4200 Compiler Construction course. The lecture covers the specification of syntax definition from which parsers can be derived, the perspective on declarative syntax definition using SDF, and reading material on the SDF3 syntax definition formalism and papers on testing syntax definitions and declarative syntax. It also discusses what syntax is, both in linguistics and programming languages, and how programs can be described in terms of syntactic categories and language constructs. An example Tiger program for solving the n-queens problem is presented to illustrate syntactic categories in Tiger.
This document provides an overview of the CS4200 Compiler Construction course at TU Delft. It discusses the course organization, structure, and assessment. The course is split into two parts - CS4200-A which covers concepts and techniques through lectures, papers, and homework assignments, and CS4200-B which involves building a compiler for a subset of Java as a semester-long project. Students will use the Spoofax language workbench to implement their compiler and will submit assignments through a private GitLab repository.
A Direct Semantics of Declarative Disambiguation RulesEelco Visser
This document discusses research into providing a direct semantics for declarative disambiguation of expression grammars. It aims to define what disambiguation rules mean, ensure they are safe and complete, and provide an effective implementation strategy. The document outlines key research questions around the meaning, safety, completeness and coverage of disambiguation rules. It also presents contributions around using subtree exclusion patterns to define safe and complete disambiguation for classes of expression grammars, and implementing this in SDF3.
Declarative Type System Specification with StatixEelco Visser
In this talk I present the design of Statix, a new constraint-based language for the executable specification of type systems. Statix specifications consist of predicates that define the well-formedness of language constructs in terms of built-in and user-defined constraints. Statix has a declarative semantics that defines whether a model satisfies a constraint. The operational semantics of Statix is defined as a sound constraint solving algorithm that searches for a solution for a constraint. The aim of the design is that Statix users can ignore the execution order of constraint solving and think in terms of the declarative semantics.
A distinctive feature of Statix is its use of scope graphs, a language parametric framework for the representation and querying of the name binding facts in programs. Since types depend on name resolution and name resolution may depend on types, it is typically not possible to construct the entire scope graph of a program before type constraint resolution. In (algorithmic) type system specifications this leads to explicit staging of the construction and querying of the type environment (class table, symbol table). Statix automatically stages the construction of the scope graph of a program such that queries are never executed when their answers may be affected by future scope graph extension. In the talk, I will explain the design of Statix by means of examples.
https://eelcovisser.org/post/309/declarative-type-system-specification-with-statix
Compiler Construction | Lecture 17 | Beyond Compiler ConstructionEelco Visser
Compiler construction techniques are applied beyond general-purpose languages through domain-specific languages (DSLs). The document discusses several DSLs developed using Spoofax including:
- WebDSL for web programming with sub-languages for entities, queries, templates, and access control.
- IceDust for modeling information systems with derived values computed on-demand, incrementally, or eventually consistently.
- PixieDust for client-side web programming with views as derived values updated incrementally.
- PIE for defining software build pipelines as tasks with dynamic dependencies computed incrementally.
The document also outlines several research challenges in compiler construction like high-level declarative language definition, verification of
Domain Specific Languages for Parallel Graph AnalytiX (PGX)Eelco Visser
This document discusses domain-specific languages (DSLs) for parallel graph analytics using PGX. It describes how DSLs allow users to implement graph algorithms and queries using high-level languages that are then compiled and optimized to run efficiently on PGX. Examples of DSL optimizations like multi-source breadth-first search are provided. The document also outlines the extensible compiler architecture used for DSLs, which can generate code for different backends like shared memory or distributed memory.
Compiler Construction | Lecture 15 | Memory ManagementEelco Visser
The document discusses different memory management techniques:
1. Reference counting counts the number of pointers to each record and deallocates records with a count of 0.
2. Mark and sweep marks all reachable records from program roots and sweeps unmarked records, adding them to a free list.
3. Copying collection copies reachable records to a "to" space, allowing the original "from" space to be freed without fragmentation.
4. Generational collection focuses collection on younger object generations more frequently to improve efficiency.
Compiler Construction | Lecture 14 | InterpretersEelco Visser
This document summarizes a lecture on interpreters for programming languages. It discusses how operational semantics can be used to define the meaning of a program through state transitions in an interpreter. It provides examples of defining the semantics of a simple language using DynSem, a domain-specific language for specifying operational semantics. DynSem specifications can be compiled to interpreters that execute programs in the defined language.
Compiler Construction | Lecture 13 | Code GenerationEelco Visser
The document discusses code generation and optimization techniques, describing compilation schemas that define how language constructs are translated to target code patterns, and covers topics like ensuring correctness of generated code through type checking and verification of static constraints on the target format. It also provides examples of compilation schemas for Tiger language constructs like arithmetic expressions and control flow and discusses generating nested functions.
Compiler Construction | Lecture 12 | Virtual MachinesEelco Visser
The document discusses the architecture of the Java Virtual Machine (JVM). It describes how the JVM uses threads, a stack, heap, and method area. It explains JVM control flow through bytecode instructions like goto, and how the operand stack is used to perform operations and hold method arguments and return values.
Compiler Construction | Lecture 9 | Constraint ResolutionEelco Visser
This document provides an overview of constraint resolution in the context of a compiler construction lecture. It discusses unification, which is the basis for many type inference and constraint solving approaches. It also describes separating type checking into constraint generation and constraint solving, and introduces a constraint language that integrates name resolution into constraint resolution through scope graph constraints. Finally, it discusses papers on further developments with this approach, including addressing expressiveness and staging issues in type systems through the Statix DSL for defining type systems.
Compiler Construction | Lecture 8 | Type ConstraintsEelco Visser
This lecture covers type checking with constraints. It introduces the NaBL2 meta-language for writing type specifications as constraint generators that map a program to constraints. The constraints are then solved to determine if a program is well-typed. NaBL2 supports defining name binding and type structures through scope graphs and constraints over names, types, and scopes. Examples show type checking patterns in NaBL2 including variables, functions, records, and name spaces.
Compiler Construction | Lecture 7 | Type CheckingEelco Visser
This document summarizes a lecture on type checking. It discusses using constraints to separate the language-specific type checking rules from the language-independent solving algorithm. Constraint-based type checking collects constraints as it traverses the AST, then solves the constraints in any order. This allows type information to be learned gradually and avoids issues with computation order.
Compiler Construction | Lecture 6 | Introduction to Static AnalysisEelco Visser
Lecture introducing the need for static analysis in addition to parsing, the complications caused by names, and an introduction to name resolution with scope graphs
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
21. quest Convert Request
Access Control Validate Forms
Parameters
Render Page Or
Handle Actions
Redirect
ponse
Update
Database
22. Access Data
Navigation
quest Convert Request
Control Validation
Access Control Validate Forms
Parameters
Forms Data Model Actions
Render Page Or
Handle Actions
Redirect
ponse
Object
Page
Data Binding Relational
Templates
Mapping
Update
Database
23. Access Data
Navigation
Control Validation
Forms Data Model Actions
Object
Page
Data Binding Relational
Templates
Mapping
(Some) Concerns in Web Applications
24. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
data model entity class classes
orm JPA active record
actions Java/Seam Ruby
data validation
navigation servlets controllers
page templates JavaServer Faces
forms JSF tags embedded html
data binding JSF + Seam
access control Acegi
25. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
<s:link view="/entry.xhtml"
value="#{entry.title}"
propagation="none">
<f:param name="entry" value="#{entry.id}"/>
</s:link>
@Name("entry")
public class EntryBean implements EntryBeanInterface {
@RequestParameter("entry")
private Long entryId;
}
26. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
map.root :controller => "homme" # should be "home"
http://zef.me/2308/when-rails-fails
27. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
data model entity class classes
orm JPA active record
actions Java/Seam
boilerplate code Ruby
data validation
navigation loose coupling
servlets controllers
page templates JavaServer Faces
forms no/little consistency checking
JSF tags embedded html
data binding JSF + Seam
access control Acegi
28. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
- separate languages for separate concerns
- linguistically integrated
- compile-time consistency checking
- 100% code generation (no scaffolding)
29. Access Data
Navigation
Control Validation
Forms
Data
Model
Actions entity Blog {
name :: String (id)
Object
Page
Templates
Data
Binding
Relational entries -> Set<Entry>
Mapping
authors -> Set<User>
}
entity Entry {
url :: String (id)
title :: String (name)
text :: WikiText
blog -> Blog (inverse=Blog.entries)
author -> User (inverse=User.entries)
created :: DateTime
}
entity User {
username :: String
password :: Secret
blogs -> Set<Blog> (inverse=Blog.authors)
entries -> Set<Entry> (inverse=Entry.author)
}
30. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
define page entry(e : Entry) {
header{output(e.title)}
output(e.text)
“Posted by “ output(e.author)
“ on “ output(e.created)
navigate(editentry(e)){“Edit”}
}
31. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
define page editentry(e : Entry) {
Object
Page Data
Relational
Templates Binding
Mapping
form{
input(e.url)
input(e.title)
input(e.text)
input(e.author)
input(e.created)
action(“Save”, action{
return entry(e);
})
}
}
32. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
entity Entry {
url validate(isUniqueEntry(this),
“Entry with that URL already exists”)
}
33. Access Data
Navigation
Control Validation
Forms
Data
Actions
access control rules
Model
Page Data
Object
Relational
principal is User
Templates Binding
Mapping with credentials username, password
rule page entry(e : Entry) {
!e.private
|| principal in e.blog.authors
}
rule page newentry(b : Blog) {
principal in e.blog.authors
}
rule page editentry(e : Entry) {
e.author == principal
}
34. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object
Page Data
Relational
Templates Binding
Mapping
- separate languages for separate concerns
- linguistically integrated
- compile-time consistency checking
- 100% code generation (no scaffolding)
- order of magnitude decrease in code size
36. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object Stratego/XT
Page Data
Relational
Templates Binding
Mapping
Domain-Specific Language Engineering
37. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object Stratego/XT
Page Data
Relational
Templates Binding
Mapping
WebDSL Java
38. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object Stratego/XT
Page Data
Relational
Templates Binding
Mapping
Core
WebDSL Java
WebDSL
39. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object Stratego/XT
Page Data
Relational
Templates Binding
Mapping
Python
Core
WebDSL Java
WebDSL
C#
40. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object Stratego/XT
Page Data
Relational
Templates Binding
Mapping
Python
Core
WebDSL PIL Java
WebDSL
C#
41. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Object Stratego/XT
Page Data
Relational
Templates Binding
Mapping
Component-Based Language Engineering
DM PIL
Python
UI PIL
AC PIL
+ WebDSL
Core
WebDSL
PIL Java
C#
DV PIL
42. Access Data
Navigation
Control Validation
Data
Forms Actions
Model
Page Data
Object
Relational - separate languages for separate concerns
Templates Binding
Mapping - linguistically integrated
- compile-time consistency checking
- 100% code generation (no scaffolding)
- order of magnitude decrease in code size
http://webdsl.org
http://strategoxt.org http://researchr.org