Nested componentization for advanced Web portal solutions Svebor Prstačić, dipl. ing., Dr. sc. Ivan Voras, Dr. sc. Mario Žagar.

Slides:



Advertisements
Similar presentations
Castafiore platform Consists or intend to consist of 1.Advanced Web framework 2.Advanced Graph database 3.Designer studio (something like visual basic)
Advertisements

Content Management Systems Complex websites made easy.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
INTRODUCTION TO ASP.NET MVC AND EXAMPLE WALKTHROUGH RAJAT ARYA EFECS - OIM DAWG – 4/21/2009 ASP.NET MVC.
Introducing Mapbuilder Michael Adair Natural Resources Canada.
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Programming with Objects: Class Libraries and Reusable Code.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
ACTIVE X By Ethan Huang. OUTLINE What is ActiveX? Component of ActiveX Why ActiveX? ActiveX and Java Security Issue.
R R R CSE870: Advanced Software Engineering: Frameworks (Cheng, Sp2003)1 Frameworks A Brief Introduction.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Reuse Activities Selecting Design Patterns and Components
Chapter 13 Web Application Infrastructure. Objectives Explain the components and purpose of a web application platform Describe several common webapp.
Creating a SharePoint App with Microsoft Access Services
Understanding and Managing WebSphere V5
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Overview of Framework by Ahamed Rifaudeen A. page - i Steps before entering into the Framework?  Basic knowledge of object-oriented programming (OOP)
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Choosing a web CMS and an introduction to Modx March 2010.
Content Management Systems AN INTRODUCTION. Learning Objectives To know what a Content Management System is Have an understanding of the different types.
ZFApp Preview Walkthrough. What is ZFApp? ZFApp is an application framework built on top of Zend Framework Fully compatible with the latest ZF Versions.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
MVC pattern and implementation in java
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1.
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Introducing Dynamic Data DemosRoadmap Feedback and Q&A.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Extending ArcGIS for Server
Murach’s ASP.NET 4.0/VB, C1© 2006, Mike Murach & Associates, Inc.Slide 1.
Arnold Geraldo Designing and Making of The Online Auction Website Using CakePHP Framework.
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.
Introduction to Web Dimitar Nenchev Ivan Nakov
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
JakeShop A complete application for online commerce by Jake Feasel.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Benchmarking Visualization Platform. The Platform Brief description.
Unleash the Power of jQuery Learning & Development Team Telerik Software Academy.
Strictly Business Using “StrictlyFused” to Create an Extensible Knowledge Portal.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Rich Internet Applications 2. Core JavaScript. The importance of JavaScript Many choices open to the developer for server-side Can choose server technology.
ASP.NET MVC An Introduction. What is MVC The Model-View-Controller (MVC) is an architectural pattern separates an application into three main components:
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
SDJ INFOSOFT PVT. LTD. 2 BROWSERBROWSER JSP JavaBean DB Req Res Application Layer Enterprise server/Data Sources.
Basics Components of Web Design & Development Basics, Components, Design and Development.
Cake PHP – OOPS approach for PHP
PHP Assignment Help BookMyEssay. What is PHP PHP is a scripting language generally used on web servers. It is an open source language and embedded code.
Chapter 13 Web Application Infrastructure
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
PHP Training at GoLogica in Bangalore
SharePoint Cloud hosted Apps
MVC Framework, in general.
Java Web Application Framework
Chapter 27 WWW and HTTP.
Modern web applications
Lecture 1: Multi-tier Architecture Overview
Rich single page applications with SharePoint
Modern web applications
WPS - your story so far Seems incredible complicated, already
Wordpress.
Presentation transcript:

Nested componentization for advanced Web portal solutions Svebor Prstačić, dipl. ing., Dr. sc. Ivan Voras, Dr. sc. Mario Žagar

Agenda  Mission and features  Implementation  Future work 2ITI 2011

Mission  Social networks and/or features are unavoidable  Implementing the same features over and over again is common and inefficient  Not reusable without standardized interfaces Problem  Components are incompatible  Components cannot exist without the framework  Frameworks are incompatible and inseparable from parent applications  Many different frameworks Mission: create a reusable framework 3ITI 2011

The framework, features  Framework easily reusable  Easy component development  PHP, Smarty, object-oriented, MVC  Database access  Components can nest and are easy to reuse  Components oblivious to their siblings  Type  Inner architecture  Communication with the host application 4ITI 2011

Features  Components should be usable as plug-in applications e.g.:  Attach a photo gallery to a blog post  Enable commenting for a news article  Recursive usage  Allowed but not handled  We call them extensions 5ITI 2011

Features ITI 20116

Features ITI  One line extension reuse  As easy as HTML tag reuse  Provide a context  Enable extensions to hook without relational dependencies  Provide user data  Provide permissions

Implementation - MVC ITI  Model  Where the code is  How the PHP files are named  View  Smarty template  Plug-ins, predefined template variables  Action link URLs  Forms  Permissions  Localization strings  JavaScript  Unified and minimized

Implementation - MVC ITI  Controller  An abstract class  Every extension must have one  Communication with the framework (execution, context data)  Main purpose - define callable actions  Called if necessary, depending on user input  Objects are cached on the server  Properties retained between calls  Can improve performance

Implementation – execution context ITI  Determines how and what a component should render e.g.:  CMS – load stuff on a page  Blog application – load stuff for the current blog  Extensions  Partially inherited from parent (hook data)  Partially provided by the framework from the host app (user, permissions…)  Creates unique extension instances  Usage examples  {v2ext _name=‘’Comments’’ _content_type_name=‘’news_article’’ _content_id=‘’$news.news_id’’}  {v2ext _name=‘’Thumbslike’’ _content_type_name=‘’comment’’ _content_id=‘’$comment.id’’}

Implementation - hook data ITI  Consists of data type and payload data  Accessed through UniqueID objects  Framework handles instantiation  Every controller is provided a UniqueID reference  Downsides  No relational dependency  Data changes, cleanup?  Solved with event support:  Hinders our one-line extension reuse goal: fireContentDeletedEvent($news_id, ‘’news_article’’);

Future work ITI  Improve implementation  Identify integration interfaces and integration workflow  Framework - triggered events  Dynamic hooks

Thank you. ITI