Introduzione alla piattaforma documentale Alfresco.
Presentazione Generale della Piattaforma
- Document Management
- Record Management
- Web Content Management
L’Architettura
- I Componenti Open Source
- I Protocolli e gli Standard Supportati
- Standard JSR-170
Estendere il Modello dei Contenuti
- Custom Data Model
- Esempi
Comunicare con il Repository
- Web Script
- Esempi
Il Modello Relazionale Dei Dati
Il Workflow
- Il Simple Workflow
- Il Workflow Avanzato
Alfresco Share
- Le API di Alfresco
- API RAAR
Conclusioni
When migrating applications to the AWS Cloud, it’s important to architect cloud environments that are efficient, secure, and compliant. Companies depend on critical enterprise applications to run their business. In this session, learn about the compute, storage, and networking services that AWS offers to help you build, run, and scale your business-critical applications more quickly, securely, and cost-efficiently. We also cover the AWS services and partners that are available to help you modernize and migrate your business-critical applications to the cloud.
This session provides an overview of how organizations can migrate workloads to the AWS cloud at scale. We will go through available migration frameworks and best practices with common use case examples during this session. After migrating the initial workloads, understand how to migrate at scale to the AWS cloud. Hear about real life experiences from the AWS Professional Services team and learn about common use case examples, frameworks, and best practices. Hear about what to avoid when migrating applications at scale to AWS and understand the tools and partner services that can assist you when migrating applications to AWS.
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Amazon Web Services
Whether it is per business unit or per application, many AWS customers use multiple accounts to meet their infrastructure isolation, separation of duties, and billing requirements. In this session, learn about the considerations, limitations, and security patterns of building a multi-account strategy. Get insight into topics such as thought pattern, identity federation, cross-account roles, consolidated logging, and account governance. Finally, see an enterprise-ready landing zone framework and the background needed to implement an AWS Landing Zone using AWS Control Tower and AWS Organizations.
This document discusses building a business case for migrating to the cloud. It outlines challenges with on-premises infrastructure like inflexibility and high costs. A cloud value framework is presented that considers cost savings, staff productivity, business agility, and operational resilience. Different types of business cases are described from directional to refined to detailed. Key aspects of a migration-focused business case are identified like quantifying total cost of ownership savings and benefits related to technology optimization, organizational transformation, and other outputs. Examples are provided of realized value from cloud migrations in areas like staff productivity, cost savings, operational resilience, and business agility.
Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms operated from server farms located across 16 geographical regions worldwide. AWS allows organizations to access shared computing and storage resources over the internet rather than building and maintaining their own infrastructure. Some benefits of AWS include lower costs, easy management, portability, and no direct coupling between hardware and software. Large companies like Netflix, Adobe, and General Electric utilize AWS for its scalable and reliable cloud services.
Are you looking to automate backup and archiving of your business-critical data workloads? Attend this session to understand key use cases, best practices, and considerations for protecting your data with AWS and CommVault. This session will feature lessons learned from CommVault customers that have: migrated onsite backup data into Amazon S3 to reduce hardware footprint and improve recoverability; implemented data-tiering and archived data in Amazon Glacier for long term retention and compliance; performed snapshot-based protection and recovery for applications running in Amazon EC2; and, provisioned and managed VMs in Amazon EC2.
Speaker: Chris Gondek, Principal Architect, CommVault Australia and New Zealand
Joel Schuweiler_AWS IAM Identity Center (Single Sign On).pptxAWS Chicago
This document discusses AWS Single Sign-On (SSO) and using Okta as an identity provider for SSO. It covers what SSO is, the benefits of AWS SSO including simplified staffing changes and compliance, and how to configure Okta and the AWS CLI to enable SSO. It also discusses authorization concepts in AWS SSO like permission sets, users vs groups, account selection, and policy options.
When migrating applications to the AWS Cloud, it’s important to architect cloud environments that are efficient, secure, and compliant. Companies depend on critical enterprise applications to run their business. In this session, learn about the compute, storage, and networking services that AWS offers to help you build, run, and scale your business-critical applications more quickly, securely, and cost-efficiently. We also cover the AWS services and partners that are available to help you modernize and migrate your business-critical applications to the cloud.
This session provides an overview of how organizations can migrate workloads to the AWS cloud at scale. We will go through available migration frameworks and best practices with common use case examples during this session. After migrating the initial workloads, understand how to migrate at scale to the AWS cloud. Hear about real life experiences from the AWS Professional Services team and learn about common use case examples, frameworks, and best practices. Hear about what to avoid when migrating applications at scale to AWS and understand the tools and partner services that can assist you when migrating applications to AWS.
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Amazon Web Services
Whether it is per business unit or per application, many AWS customers use multiple accounts to meet their infrastructure isolation, separation of duties, and billing requirements. In this session, learn about the considerations, limitations, and security patterns of building a multi-account strategy. Get insight into topics such as thought pattern, identity federation, cross-account roles, consolidated logging, and account governance. Finally, see an enterprise-ready landing zone framework and the background needed to implement an AWS Landing Zone using AWS Control Tower and AWS Organizations.
This document discusses building a business case for migrating to the cloud. It outlines challenges with on-premises infrastructure like inflexibility and high costs. A cloud value framework is presented that considers cost savings, staff productivity, business agility, and operational resilience. Different types of business cases are described from directional to refined to detailed. Key aspects of a migration-focused business case are identified like quantifying total cost of ownership savings and benefits related to technology optimization, organizational transformation, and other outputs. Examples are provided of realized value from cloud migrations in areas like staff productivity, cost savings, operational resilience, and business agility.
Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms operated from server farms located across 16 geographical regions worldwide. AWS allows organizations to access shared computing and storage resources over the internet rather than building and maintaining their own infrastructure. Some benefits of AWS include lower costs, easy management, portability, and no direct coupling between hardware and software. Large companies like Netflix, Adobe, and General Electric utilize AWS for its scalable and reliable cloud services.
Are you looking to automate backup and archiving of your business-critical data workloads? Attend this session to understand key use cases, best practices, and considerations for protecting your data with AWS and CommVault. This session will feature lessons learned from CommVault customers that have: migrated onsite backup data into Amazon S3 to reduce hardware footprint and improve recoverability; implemented data-tiering and archived data in Amazon Glacier for long term retention and compliance; performed snapshot-based protection and recovery for applications running in Amazon EC2; and, provisioned and managed VMs in Amazon EC2.
Speaker: Chris Gondek, Principal Architect, CommVault Australia and New Zealand
Joel Schuweiler_AWS IAM Identity Center (Single Sign On).pptxAWS Chicago
This document discusses AWS Single Sign-On (SSO) and using Okta as an identity provider for SSO. It covers what SSO is, the benefits of AWS SSO including simplified staffing changes and compliance, and how to configure Okta and the AWS CLI to enable SSO. It also discusses authorization concepts in AWS SSO like permission sets, users vs groups, account selection, and policy options.
Azure provides Infrastructure as a Service (IaaS) through a global network of data centers. It offers virtual machines, storage, networking, and other core services to deploy and manage applications and infrastructure. Azure provides options for compute, storage, and virtual networking to suit different application needs. It also offers security, management, and backup services to help secure and monitor workloads in Azure.
Backup & Recovery - Optimize Your Backup and Restore Architectures in the CloudAmazon Web Services
This document discusses optimizing backup and restore architectures in the cloud. It begins by noting the rapid growth of digital data and importance of backup and recovery. Common terms like RPO and RTO are defined. Traditional on-premises backup is compared to approaches using cloud connectors, gateways, and services like S3, Glacier, and EBS. Benefits of cloud backup include cost savings, automation, and analytics. A variety of AWS storage services and partners are presented as solutions for different backup use cases.
Mainframe Modernization with Precisely and Microsoft AzurePrecisely
Today’s businesses are leveraging Microsoft Azure to modernize operations, transform customer experience, and increase profit. However, if the rich data generated by the mainframe applications is missed in the move to the cloud, you miss the mark.
Without the right solutions in place, migrating mainframe data to Microsoft Azure is expensive, time-consuming, and reliant on highly specialized skillsets. Precisely Connect can quickly integrate mainframe data at scale into Microsoft Azure without sacrificing functionality, security, or ease of use.
View this on-demand webinar to hear from Microsoft Azure and Precisely data integration experts. You will:
- Learn how to build highly scalable, reliable data pipelines between the mainframe and Microsoft Azure services
- Understand how to make your Microsoft Azure implementation ready for mainframe
- Dive into case studies of businesses that have successfully included mainframe data in their cloud modernization efforts with Precisely and Microsoft Azure
An Agile Approach to Accelerate Mass Migration | AWS Public Sector Summit 2016Amazon Web Services
The complexities of a cloud transformation program that involves the migration of hundreds or thousands of servers can present a significant challenge to program management and the coordination of IT teams tasked with the success and support of migration. This session outlines a highly collaborative agile approach to accelerate migration activities through automation of the iterative capture, sharing, and documentation of decisions and information, incorporated into a common DevOps solution.
Kaushal Doshi has over 9 years of experience as an SAP FI/CO consultant. He is a Chartered Accountant with experience implementing and supporting SAP FI/CO modules for various industries. He currently works as a Senior SAP FICO Consultant for General Mills India, where he has led projects reducing database sizes and automated business processes. Doshi is SAP certified in FI and CO and has experience providing training, support, and customizing reports and processes for SAP customers.
This document outlines an agenda for a presentation on Microsoft Azure in the enterprise. The agenda includes discussions of Microsoft's cloud strategy, an overview of Azure IaaS and PaaS offerings, Azure storage basics, Azure portals and APIs, Azure resource manager, Azure networking, security mechanisms, traffic management, cloud adoption methodology, Azure security center, and operational analytics. It also lists appendices on Azure stack, service fabric, DevOps, and how Azure is described by Gartner. The presentation aims to provide both a high-level overview and deeper dives into specific Azure services and capabilities.
Amazon API Gateway and AWS Lambda: Better TogetherDanilo Poccia
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. AWS Lambda is a compute service that runs your code in response to events and automatically manages the compute resources for you, making it easy to build applications that respond quickly to new information. Together they help you build a server-less event-driven backend that is easy to manage and scale.
This document provides instructions for manually creating check information in SAP using transaction code FCH5. The FCH5 transaction allows linking manually issued checks to payment documents. To create a manual check, the user must enter details like the payment document number, company code, fiscal year, house bank, account ID, check number, amount paid, and payee name. Once the fields are filled in, clicking Save will create the check data for the linked payment document. A message confirms the manual check creation.
The document describes an internship report submitted by K. Sireesha at NanoMindz Technologies Pvt. Ltd. in Vishakapatnam from May 8, 2017 to June 7, 2017 to fulfill the requirements for a Bachelor of Technology degree in Computer Science and Engineering. The report provides an overview of the organization, outlines the learning objectives and weekly activities during the internship, and covers topics related to .NET framework, C# programming, web development, and a project completed during the internship.
The document discusses Security Incident and Event Management (SIEM) systems and Microsoft Sentinel. It provides an overview of what a SIEM system is and what functionality it typically includes, such as log management, alerting, visualization, and incident management. It then describes Microsoft Sentinel specifically and how it is a cloud-native SIEM system that security operations teams can use to collect security data from various sources, detect threats using machine learning and analytics, and investigate and respond to security incidents.
New GL parallel ledgers in asset accounting Hari Krishna
We can use parallel ledgers in asset accounting to value assets according to different accounting principles. The document outlines how to configure parallel ledgers for US GAAP and Indian GAAP valuations. Key steps include defining depreciation areas, assigning them to asset classes and general ledger accounts, and setting up periodic posting. Testing shows parallel acquisition and depreciation postings are made to the respective ledgers according to the depreciation areas assigned in the asset master. Retiring the asset then results in different gains/losses posted to each ledger.
This document outlines the key FinOps capabilities for managing costs and resources in Azure, including cost allocation, data analysis and showback, managing anomalies, shared costs, budgets, workloads, discounts, resource utilization, data ingestion, onboarding workloads, and establishing a FinOps culture. For each capability, it lists the supporting Azure services and features such as policy, tagging, resource graph, budgets alerts, logic apps, and more.
In this Meetup, Speaker walked us through the below AWS Route 53 Concepts:
- What is DNS
- How does DNS work?
- DNS Record types
- Routing Policies
- MuleSoft vanity domain mapping
- Load distribution of MuleSoft APIs
- Failover Scenario - Disaster Recovery
SAP BPC Concepts
SAP Business process consolidation
SAP Business objects overview
SAP Consolidation overview
from Verity Solutions
http://www.verity-sol.com
1) AWS provides reliable and cost-effective options for running Windows and SQL Server workloads on AWS. AWS saw 7x fewer downtime hours compared to Azure between 2018-2019. Using Dedicated Hosts and Availability Zones can reduce SQL Server costs by 75%.
2) AWS supports Windows workloads through a wide range of services available since 2008 and has over 10,000 partners and 10 years of experience. Key services highlighted include EC2, RDS, Systems Manager, License Manager, and migration tools.
3) Migrating old Windows and SQL Server workloads from on-premises to AWS can provide infrastructure cost savings, better server utilization, and reduce risks from end-of
Transparency and Control with AWS CloudTrail and AWS ConfigAmazon Web Services
AWS CloudTrail and AWS Config are complementary services that provide visibility into API activity and resource configuration changes in AWS accounts. CloudTrail records API calls and related metadata, while Config captures configuration history and relationships between resources. These services can be used together to correlate API calls with resulting resource changes for security and compliance monitoring.
This session provides IT pros and application owners an overview of AWS options for building hybrid storage architectures or even entirely migrating datacenter storage to the AWS cloud. The AWS Storage Gateway connects existing on-premises block, file or tape storage systems to AWS cloud storage over the WAN in a hybrid model. The AWS Snow family of physical devices can capture, pre-process and migrate data into and out of AWS without any network connection at all. Join us to learn how you can close down datacenters, reduce storage footprints, and build solutions for tiering, data lakes, backup, disaster recovery, and migration.
Microsoft M365 Cross Tenant Migration BookThomas Poett
In this cross-tenant/ tenant-2-tenant migration book, I guide you through the holistic approach, which in deep exercise of Team Voice.
Technically there are many more aspects, like 3rd party tools vs. Microsoft own solutions and scripts to be written. This book provides you an inside but not providing scripts and detailed configuration. Scripts and configurations are very much an individual approach for each cross-tenant migration.
In this session, we show you how to understand what data you have, how to drive insights, and how to make predictions using purpose-built AWS services. Learn about the common pitfalls of building data lakes and discover how to successfully drive analytics and insights from your data. Also learn how services such as Amazon S3, AWS Glue, Amazon Redshift, Amazon Athena, Amazon EMR, Amazon Kinesis, and Amazon Machine Learning (Amazon ML) services work together to build a successful data lake for various roles, including data scientists and business users.
Azure provides Infrastructure as a Service (IaaS) through a global network of data centers. It offers virtual machines, storage, networking, and other core services to deploy and manage applications and infrastructure. Azure provides options for compute, storage, and virtual networking to suit different application needs. It also offers security, management, and backup services to help secure and monitor workloads in Azure.
Backup & Recovery - Optimize Your Backup and Restore Architectures in the CloudAmazon Web Services
This document discusses optimizing backup and restore architectures in the cloud. It begins by noting the rapid growth of digital data and importance of backup and recovery. Common terms like RPO and RTO are defined. Traditional on-premises backup is compared to approaches using cloud connectors, gateways, and services like S3, Glacier, and EBS. Benefits of cloud backup include cost savings, automation, and analytics. A variety of AWS storage services and partners are presented as solutions for different backup use cases.
Mainframe Modernization with Precisely and Microsoft AzurePrecisely
Today’s businesses are leveraging Microsoft Azure to modernize operations, transform customer experience, and increase profit. However, if the rich data generated by the mainframe applications is missed in the move to the cloud, you miss the mark.
Without the right solutions in place, migrating mainframe data to Microsoft Azure is expensive, time-consuming, and reliant on highly specialized skillsets. Precisely Connect can quickly integrate mainframe data at scale into Microsoft Azure without sacrificing functionality, security, or ease of use.
View this on-demand webinar to hear from Microsoft Azure and Precisely data integration experts. You will:
- Learn how to build highly scalable, reliable data pipelines between the mainframe and Microsoft Azure services
- Understand how to make your Microsoft Azure implementation ready for mainframe
- Dive into case studies of businesses that have successfully included mainframe data in their cloud modernization efforts with Precisely and Microsoft Azure
An Agile Approach to Accelerate Mass Migration | AWS Public Sector Summit 2016Amazon Web Services
The complexities of a cloud transformation program that involves the migration of hundreds or thousands of servers can present a significant challenge to program management and the coordination of IT teams tasked with the success and support of migration. This session outlines a highly collaborative agile approach to accelerate migration activities through automation of the iterative capture, sharing, and documentation of decisions and information, incorporated into a common DevOps solution.
Kaushal Doshi has over 9 years of experience as an SAP FI/CO consultant. He is a Chartered Accountant with experience implementing and supporting SAP FI/CO modules for various industries. He currently works as a Senior SAP FICO Consultant for General Mills India, where he has led projects reducing database sizes and automated business processes. Doshi is SAP certified in FI and CO and has experience providing training, support, and customizing reports and processes for SAP customers.
This document outlines an agenda for a presentation on Microsoft Azure in the enterprise. The agenda includes discussions of Microsoft's cloud strategy, an overview of Azure IaaS and PaaS offerings, Azure storage basics, Azure portals and APIs, Azure resource manager, Azure networking, security mechanisms, traffic management, cloud adoption methodology, Azure security center, and operational analytics. It also lists appendices on Azure stack, service fabric, DevOps, and how Azure is described by Gartner. The presentation aims to provide both a high-level overview and deeper dives into specific Azure services and capabilities.
Amazon API Gateway and AWS Lambda: Better TogetherDanilo Poccia
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. AWS Lambda is a compute service that runs your code in response to events and automatically manages the compute resources for you, making it easy to build applications that respond quickly to new information. Together they help you build a server-less event-driven backend that is easy to manage and scale.
This document provides instructions for manually creating check information in SAP using transaction code FCH5. The FCH5 transaction allows linking manually issued checks to payment documents. To create a manual check, the user must enter details like the payment document number, company code, fiscal year, house bank, account ID, check number, amount paid, and payee name. Once the fields are filled in, clicking Save will create the check data for the linked payment document. A message confirms the manual check creation.
The document describes an internship report submitted by K. Sireesha at NanoMindz Technologies Pvt. Ltd. in Vishakapatnam from May 8, 2017 to June 7, 2017 to fulfill the requirements for a Bachelor of Technology degree in Computer Science and Engineering. The report provides an overview of the organization, outlines the learning objectives and weekly activities during the internship, and covers topics related to .NET framework, C# programming, web development, and a project completed during the internship.
The document discusses Security Incident and Event Management (SIEM) systems and Microsoft Sentinel. It provides an overview of what a SIEM system is and what functionality it typically includes, such as log management, alerting, visualization, and incident management. It then describes Microsoft Sentinel specifically and how it is a cloud-native SIEM system that security operations teams can use to collect security data from various sources, detect threats using machine learning and analytics, and investigate and respond to security incidents.
New GL parallel ledgers in asset accounting Hari Krishna
We can use parallel ledgers in asset accounting to value assets according to different accounting principles. The document outlines how to configure parallel ledgers for US GAAP and Indian GAAP valuations. Key steps include defining depreciation areas, assigning them to asset classes and general ledger accounts, and setting up periodic posting. Testing shows parallel acquisition and depreciation postings are made to the respective ledgers according to the depreciation areas assigned in the asset master. Retiring the asset then results in different gains/losses posted to each ledger.
This document outlines the key FinOps capabilities for managing costs and resources in Azure, including cost allocation, data analysis and showback, managing anomalies, shared costs, budgets, workloads, discounts, resource utilization, data ingestion, onboarding workloads, and establishing a FinOps culture. For each capability, it lists the supporting Azure services and features such as policy, tagging, resource graph, budgets alerts, logic apps, and more.
In this Meetup, Speaker walked us through the below AWS Route 53 Concepts:
- What is DNS
- How does DNS work?
- DNS Record types
- Routing Policies
- MuleSoft vanity domain mapping
- Load distribution of MuleSoft APIs
- Failover Scenario - Disaster Recovery
SAP BPC Concepts
SAP Business process consolidation
SAP Business objects overview
SAP Consolidation overview
from Verity Solutions
http://www.verity-sol.com
1) AWS provides reliable and cost-effective options for running Windows and SQL Server workloads on AWS. AWS saw 7x fewer downtime hours compared to Azure between 2018-2019. Using Dedicated Hosts and Availability Zones can reduce SQL Server costs by 75%.
2) AWS supports Windows workloads through a wide range of services available since 2008 and has over 10,000 partners and 10 years of experience. Key services highlighted include EC2, RDS, Systems Manager, License Manager, and migration tools.
3) Migrating old Windows and SQL Server workloads from on-premises to AWS can provide infrastructure cost savings, better server utilization, and reduce risks from end-of
Transparency and Control with AWS CloudTrail and AWS ConfigAmazon Web Services
AWS CloudTrail and AWS Config are complementary services that provide visibility into API activity and resource configuration changes in AWS accounts. CloudTrail records API calls and related metadata, while Config captures configuration history and relationships between resources. These services can be used together to correlate API calls with resulting resource changes for security and compliance monitoring.
This session provides IT pros and application owners an overview of AWS options for building hybrid storage architectures or even entirely migrating datacenter storage to the AWS cloud. The AWS Storage Gateway connects existing on-premises block, file or tape storage systems to AWS cloud storage over the WAN in a hybrid model. The AWS Snow family of physical devices can capture, pre-process and migrate data into and out of AWS without any network connection at all. Join us to learn how you can close down datacenters, reduce storage footprints, and build solutions for tiering, data lakes, backup, disaster recovery, and migration.
Microsoft M365 Cross Tenant Migration BookThomas Poett
In this cross-tenant/ tenant-2-tenant migration book, I guide you through the holistic approach, which in deep exercise of Team Voice.
Technically there are many more aspects, like 3rd party tools vs. Microsoft own solutions and scripts to be written. This book provides you an inside but not providing scripts and detailed configuration. Scripts and configurations are very much an individual approach for each cross-tenant migration.
In this session, we show you how to understand what data you have, how to drive insights, and how to make predictions using purpose-built AWS services. Learn about the common pitfalls of building data lakes and discover how to successfully drive analytics and insights from your data. Also learn how services such as Amazon S3, AWS Glue, Amazon Redshift, Amazon Athena, Amazon EMR, Amazon Kinesis, and Amazon Machine Learning (Amazon ML) services work together to build a successful data lake for various roles, including data scientists and business users.
Introduzione alle funzionalità di amministrazione della piattaforma di content management Alfresco.
Argomenti:
- Gestione degli Utenti
- Gestione delle Cartelle
- Gestione dei Documenti
- Uso dei Driver di rete per la gestione dei Contenuti
- Migrazione dei Documenti
- Integrazione con il Mail Server Exchange
Soluzioni complete per la formazione on line e le conferenze via web.
Contenuti riusabili, consultazione e utilizzo a distanza!
Adobe Acrobat Connect Professional, Adobe Flash Media Server, Adobe Acrobat Connect Professional meetings, Adobe Connect Training, Adobe Connect Events, Adobe Presenter (plug-in per Powerpoint)
Webinar - https://redis.com/webinars-on-demand/redis-non-solo-cache/
Redis è il sistema di caching più utilizzato e conosciuto, sia a livello community, che in ambito enterprise.
Tuttavia i suoi utilizzi non si limitano alla sola cache.
In questo webinar, vedremo come disegnare architetture per sistemi di code, messaging e event-stream.
Inoltre, parte della presentazione sarà dedicata ad una demo che evidenzia step-by-step come implementare Redis per le event-driven-architecture, prendendo spunto da un caso d'uso specifico.
2. Argomenti Trattati
Presentazione Generale della Piattaforma – 1° PARTE
Document Management
Record Management
Web Content Management
L’Architettura
I Componenti Open Source
I Protocolli e gli Standard Supportati
Standard JSR-170
Estendere il Modello dei Contenuti – 2 ° PARTE
Custom Content Model
Esempi
Comunicare con il Repository
Web Script
Esempi
Il Modello Relazionale Dei Dati
Il Workflow – 3° PARTE
Il Simple Workflow
Il Workflow Avanzato
Alfresco Share
Le API di Alfresco
API RAAR
Conclusioni
3. Cosa è Alfresco
Piattaforma di Enterprise Content Management Open
Source
E’ estendibile
Modello dei Dati:Custom Content Model
Servizi: Web Script, Web Service
Licenza GPL (General Public License)
Il Modello Open Source consente di utilizzare i più
recenti contributi della comunità:
Hibernate
Open Office
Lucene
1/73
4. Cosa è una piattaforma di ECM
ECM raggruppa un insieme di tecnologie Content-Centric:
Document Management (DM): Catalogare, Organizzare e
Condividere file Binari prodotti da software di Authoring
Web Content Management (WCM): Creazione e Gestione di
contenuti destinati ad essere fluiti attraverso il Web
Records Management (RM): Identificazione, Classificazione,
Archiviazione e Distruzione di Record (Pratiche elettroniche)
Digital Asset Management: Archiviazione, Catalogazione,
Gestione, Ricerca full-text di risorse e contenuti digitali
(Video, Audio, Immagini)
Collaboration: Strumenti che facilitano la collaborazione, la
condivisione di informazioni tramite Wiki, Blog, Siti Personali,
Calendari Condivisi..
Search: supporto alla ricerca dei contenuti
2/73
5. La Nascita
Alfresco è stata fondata nel 2005 da un gruppo di
persone provenienti dall’ECM Documentum®
I progettisti di Alfresco hanno alle spalle più di 15
anni di esperienza nel settore degli ECM.
I finanziatori sono aziende leader nel settore degli
investimenti
SAP Ventures.
3/73
6. L’Obiettivo
Fornire una soluzione Open Source di ECM
Superare soluzioni commerciali:
Documentum®
Microsoft® SharePoint®
In Termini di
Caratteristiche
Funzionalità
Vantaggi per gli utenti
4/73
7. La Storia
Gennaio 2005 – il team di Documentum inizia a sviluppare Alfresco.
Ottobre 2005 – lancio del prodotto Alfresco.
Maggio 2006 - Alfresco Enterprice è Open Source al 100%.
Settembre 2006 - Alfresco lancia le soluzioni: WCM e RM.
Novembre 2006 - Alfresco, MySQL e Red Hat realizzano il primo
benchmark open source JSR-170.
Dicembre 2006 - Alfresco annuncia il primo sistema ECM incorporato.
Febbraio 2007 - Alfresco è rilasciato con licenza GPL.
Febbraio 2007 – viene rilasciato Alfresco 2.0.
Luglio 2007 - Alfresco diventa licenziataria di Open Invention Network
Dicembre 2007 – Alfresco annuncia la prima piattaforma Open Source
di Social Computing di classe Enterprice.
Dicembre 2007 - Alfresco vince il premio “Red Herring 100 Global
2007 Award”
Gennaio 2008 – il benchmark sui Repository Open Source JSR-170
Compliant supera i 100 milioni di oggetti.
5/73
8. I Vantaggi
E’ una soluzione Open Source (GPL)
Utilizza Standard Aperti:
E’ basato sul JSR-170
Si arricchisce frequentemente dei contributi della
Comunità
Offre soluzioni innovative anche rispetto alle
soluzioni commerciali
6/73
9. I Clienti nel Mondo
Government Financial Services
UK MOD
7/73
10. I Clienti nel Mondo
Publishing & Media Professional Services
Education & NFP Manufacturing
8/73
12. La Piattaforma ALFRESCO
Image Document
Management Management
Content
Repository
Records Web Content
Management Management
10/73
13. Il Gestore Documentale
Il Modulo permette di gestire il flusso
documentale dell’Organizzazione
attraverso politiche Centralizzate e
Personalizzabili
Processi Documentali unificati
Digitalizzazione dei Documenti
Gerarchie
Tassonomie multiple
Check in/out
Versioning
Convesioni tra formati
Profilazione utenti e gruppi
Ricerca Full-Text
Workflow documentale
11/73
14. Il Gestore Documentale
I Bisogni dell’Utente
Usare Tool di Authoring dei contenuti famigliari
Facilità di Integrazione con i Tool di Authoring usati
quotidianamente (es. Microsoft Office, Open Office)
Politiche di sicurezza centralizzate
Librerie di Servizi(Check-in/out, Versioning)
Gestione del Workflow documentale
Scalabilità: rispetto ai contenuti e agli utenti
Personalizzare la UI:Web Client personalizzabile
12/73
15. Libreria di Servizi
Sono servizi nativi forniti dal repository al Gestore
Documentale per gestire la storia di un
documento (Versioning) e la modifica in parallelo
dei documenti da parte di un gruppo di lavoro
(Check in/out)
Check-out (lock): blocca temporaneamente un
documento per permettere l’Editing da parte di un
solo utente alla volta.
Check-in(unlock): sostituisce il documento
originale bloccato con la “Working Copy”, che può
essere editata, e dopo rilascia il blocco.
Versioning: è la possibilità di mantenere traccia
delle modifiche effettuate su un documento
editato da diversi Autori
13/73
16. Il Gestore Documentale
Shared Drive Interface: CIFS
CIFS consente di navigare il
repository come il File System
locale
Gli utenti possono continuare ad
utilizzare gli strumenti di Autoring
che conoscono (Microsoft Office,
Open Office)
Il protocollo Server Message Block
(SMB) e il suo derivato Common
Internet File System (CIFS)
permettono di condividere files e
stampanti tra i vari nodi di una rete
CIFS è usato soprattutto nei
sistemi Windows
Samba è una implementazione free
di CIFS per sistemi Linux
14/73
17. Il Gestore Documentale
Integrazione con Microsoft Office e Open Office
Funzionalità offerte:
Editing dei documenti
multi-utente
Ricerca Full-Text dei
documenti
Creazione di nuovi
documenti
Accesso alle versioni
storicizzate dei
documenti
Archiviazione nel
repository
Modifica dei documenti
15/73
18. Il Gestore Documentale
Sicurezza e Autenticazione
Gestione dell’Autorizzazione e Autenticazione
degli Utenti (Login, Ruoli, Permessi)
Gestione di Gruppi, Sotto-gruppi e Utenti
Autenticazione eseguita negli Entry Point:
CIFS
FTP
WebDAV
Web Service
Supporto all’Integrazione con sistemi esterni:
NTLM (Windows NT LAN Manager)
LDAP (Lightweight Directory Access
Protocol)
Active Directory
Single Sign-on CAS (Central
Authentication Service)
16/73
19. Il Gestore Documentale
Autorizzazione Ruoli Permessi
Consumer Può leggere Cartelle e
Alfresco permette di contenuti.
assegnare dei Ruoli ad Utenti Editor Consumer + può editare
e/o a Gruppi su un Cartelle e Contenuti
determinato Spazio e/o esistenti.
Contenuto Contributor Consumer + può
aggiungere nuovi
I Ruoli sono collezioni di contenuti.
permessi assegnati ad Utenti Collaborator Editor + Contributor
e/o a Gruppi e Sottogruppi in
Coordinator Controllo Completo
uno Spazio
Alfresco supporta una serie di
ruoli Predefiniti
I Sotto-Spazi ereditano le
autorizzazioni dalla spazio
Padre
17/73
20. Modalità di Accesso alla Piattaforma
Porte di Accesso
Web
HTTP/S Browser
Customized Web Client
CIFS Shared Drive
Porte di Accesso
Workflow
Ricerca
WebDav Engine
Web Folder Full-text
FTP
FTP Client File
Library
Service Store
SMTP Email
ALFRESCO
Thick Client
DB Contenuti
Relazion File
ale
Metadati System
18/73
21. Records Management (RM)
Cosa è
Nuove leggi, regolamenti e norme causano cambiamenti
nella gestione delle Registrazioni nei Sistemi Documentali
(RM) all’interno di una Organizzazione.
ISO 15489:2001 definisce la gestione delle Registrazioni
come “la pratica di identificazione, classificazione,
archiviazione, conservazione e distruzione delle
Registrazioni”
ISO definisce le Registrazioni: “informazioni create,
ricevute e mantenute come elemento di prova e di
informazione da parte di una organizzazione o una
persona in virtù di obblighi di legge o di una transazione
d’affari”.
19/73
22. Records Management (RD)
Limiti dei Records Management Tradizionali
Sistema di Approvazione nei Records Management
tradizionali troppo difficile da usare per gli utenti
Informazioni incoerenti fra i diversi Sistemi
Documentali (RM) presenti in una Organizzazione
Scarsa tempestività del trasferimento dei documenti
da un sistema ad un’altro
Aumento dei costi per la gestione di molteplici
Archivi
20/73
23. Records Management (RD)
Alfresco Record Management
Progettato per supportare lo standard US Department of
Defense 5015.2 sulla gestione delle Registrazioni
Estrazione automatica e classificazione dei Metadati di un
documento
Conversione automatica dai formati di office proprietari ai
formati neutri di archiviazione di lungo termine come Open
Document Format (ODF) e Portable Document Format (PDF)
Attraverso l’integrazione con Scanner e un software di OCR
Alfresco fornisce una soluzione completa per archiviare,
categorizzare, trasformare documenti e effettuare ricerche
in modalità Full-Text sui Records dell’Organizzazione.
Anche le Mail sono considerate Documenti, Alfresco supporta
il Drag e Drop delle Mail da Microsoft Outlook nel Repository,
l’estrazione automatica dei metadati (Indirizzo di
Provenienza, Destinazione) e indicizzazione Full-Text
21/73
24. Web Content Management (WCM)
Cosa è
Il WCM è un modulo specializzato nella gestione dei contenuti
destinati ad essere pubblicati in un Sito Web o in una Web
Application.
Alfresco WCM si poggia sui servizi offerti dal repository e fornisce
le funzionalità per creare, gestire, pubblicare contenuti web in un
contesto di Multi-organizzazione
I tipi di contenuti gestiti includono:
Testo
HTML
XML
Immagini
Contenuti multimediali (Audio, Video)
Il WCM permette al personale dell’organizzazione, non tecnico, di
gestire i contenuti da pubblicare sul Portale o sulla Intranet
Aziendale senza l’aiuto degli sviluppatori
22/73
25. Web Content Management (WCM)
Le Funzionalità
L’utente non tecnico può usufruire di Tool di Autoring integrati nella
piattaforma per creare facilmente i contenuti:
XML
HTML
Testo
Il WCM integra un motore di trasformazione dei contenuti (da XML in
PDF o HTML, ri-definizione della risoluzione e del formato di una
immagine)
La funzionalità di Drag-and-Drop del layout del Sito permette
all’utente non tecnico di personalizzare l’aspetto grafico dei siti web
Alfresco WCM incorpora il motore di ricerca testuale (Lucene) che
permette la ricerca attraverso i campi metadati caratterizzanti un
contenuto Web
Alfresco WCM separa il contenuto dalla presentazione memorizzando il
contenuto in un file XML che successivamente viene trasformato dal
motore di trasformazione (XSLT, FreeMarker) nello specifico formato
di presentazione dei contenuti (HTML, JSP, PDF).
Alfresco WCM supporta la gestione dei Contenuti Multilingua
Alfresco WCM supporta la gestione di Siti Multipli
23/73
26. Web Content Management (WCM)
Funzionalità I Web Form: permettono agli utenti non
tecnici di produrre contenuti web che
saranno memorizzati nel repository in file
XML, validati da un XML Schema e
trasformati, tramite FreeMarker e/o XSLT in
HTML, PDF, JSP.
Sandboxes: ogni Editor di un sito ha
accesso ad una copia del sito nella propria
Sandbox, dove produce gli aggiornamenti
Preview: questa funzionalità permette
all’autore dei contenuti di analizzare il
contenuto prodotto prima di pubblicarlo nel
live site.
Delivery Workflow: permette di implementare
attraverso jBPM engine un processo di
Application Framework business attraverso cui sottomettere il
contenuto creato.
Data Structures Deployment: processo che permette di
WCM pubblicare il contenuto nel live site
Alfresco
Hardware / OS
24/73
27. WCM Web Team
Architettura
HTTP/S
Web Client WWW
Alfresco
XSLT File Deployer
PDF
Validazione XML
HTML
FreeMarker
XSD
(Schema)
JSP
PNG WWW
CSS Alfresco
File Deployer
Shared Drive ALFRESCO
Marketing
CIFS Utenti e Gruppi
Team DB
Relazionale LDAP
Metadati
25/73
28. L’ARCHITETTURA
Foundation API
Web JBoss Apache Quartz
Client Scheduler JCR API
jBPM Lucene
CIFS
JavaScript API
Rules e Auditing Web SMTP
WebDAV Actions Form Listener FreeMarker API
Extraction Custom Web Service API
Rhino Web Script
FTP
Javascript Trasformation
Framework REST API
API
Web Application
SMTP
Servlet Container
Open Image Contenuto Lucene
Macchina Fisica
Office Magick Binario Index
DB Relazionale
LDAP
File System
Storage
26/73
29. I Componenti Open Source
Componenti Open Source Funzionalità implementata
in Alfresco
Java 1.5
Spring 1.2 Aspect-Oriented Framework
MyFaces JSF Implementation Implementazione delle specifiche
JavaServer Faces (JSF) di Sun
JBoss App Server 4.0 Application Server
JBoss Portal 2.0 Portal
PDFBox – Open Source Java PDF
Library
JBoss jBPM Workflow Avanzati
27/73
30. I Componenti Open Source
Componenti Open Source Funzionalità implementata
in Alfresco
Apache Lucene Text Search Engine
Hibernate Persistenza del Database
FreeMarker Presentation per il Framework Web Script,
Views
Mozilla Rhino JavaScript Engine JavaScript engine
OpenSymphony Quartz Scheduling di processi asincroni.
Apache Axis Web Service
OpenOffice 2.0 Conversione di documenti office in PDF
Apache FOP Trasformazione di XSL:FO in PDF
Apache POI Java API per l’estrazione di Metadati da file
di Microsoft Office
ImageMagick Conversione di file di Immagini
28/73
31. Standards e Protocolli Supportati
Standard/Protocolli Note
FTP Il Contenuto può essere caricato nel
repository via FTP
WebDAV Permette di leggere e scrivere via HTTP sul
repository
CIFS Permette al repository di essere montato
come un disco condiviso
JSR-170-Java Content Alfresco è un JCR-compliant repository
Repository API
JSR-168-Java Portlet
Integration
SOAP Alfresco Web Services usa SOAP-based
web Services
RESTful API
LDAP LDAP Directory o Microsoft Active Directory
server
29/73
32. Installare Alfresco
Installare a Java SE DEvelopment Kit (JDK)
Installare RDBMS Mysql (
http://dev.mysql.com/downloads)
Configurare Alfresco con il Database
Installare l’Application Server Tomcat
Installare le componenti secondarie (Open Office,
ImageMagick)
Installare Alfresco
Run di Alfresco
40/73
35. Installare il DB
Scaricare RDBMS Mysql (http://dev.mysql.com/downloads)
Installare MySql
Verificare il corretto funzionamento
Creare il DB Alfresco con account user e pass Alfresco
In <alfresco>/extras/databases/mysql‘
Eseguire il commando:
mysql -u root -p <db_setup.sql
Scaricare MySQL Java Connector library
http://dev.mysql.com/downloads/connector/j/
Copiare il JAR file in <container>/common/lib or <container>/server/default/lib
In tomcat/shared/classes/alfresco/extension modificare I file-
custom-repository.properties
comment out the HSQL connection lines (using #)
uncomment the MySQL connection lines and adjust as appropriate
custom-hibernate-dialect.properties
comment out the HSQL line using #
uncomment the MySQL line
40/73
36. Installare Alfresco su Tomcat 6
Il War Zip include i binari per ImageMagick e pdf2swf
Copiare Alfresco.war in <TOMCAT_HOME>/webapps
Creare <TOMCAT_HOME>/Shared/classes e copia la cartelal extension dal WAR
Nel file <TOMCAT-HOME>/conf/catalina.properties sostituire shared.loader=$
{catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
Configurare le variabili d’ambiente:
JAVA_HOME
JRE_HOME
TOMCAT_HOME
copiare la cartella lib e endorsed e i18n all’interno del
common di Tomcat
Aumentare la memoria della jvm
se tomcat è installato come servizio
b. se installato da file .sh o .bat allora seguenti parametri
-Xms128Mb -Xmx256M
40/73
37. Componenti di Alfresco
Alfresco WCM
OpenOffice
ImageMagick
Microsoft Office Add-ins
Flash Player
SWFTools
Integrazione con MediaWiki
40/73
38. Lanciare Alfresco
Windows C:alfresco alf_start.bat
Linux /opt/alfresco alfresco.sh
Server statup in nnnn ms ok
Browse:http://localhost:8080/alfresco.
40/73
40. Gestione Documentale
La Soluzione
Il Problema
E’ necessario uno standard condiviso da tutti i
Content repository per semplificare e uniformare
la comunicazione con le applicazione esterne
appartenenti al mondo Java.
Oggi quasi ogni applicazione di Gestione dei
Contenuti usa il proprio “Content Repository“
che estende un livello di storage tipicamente JSR-170 è la Risposta
un Database Relazionale aggiungendo i vari
Servizi tipici di una applicazione Content-
Centric (Versioning, Check-in/out)…
Esempio 1: nella specifica è completamente definito
Questo strato di servizio è implementato in il servizio Versioning. In questo modo una
maniera diversa da ogni Vendors… applicazione conosce come accedere allo storico
Nasce il problema della comunicazione fra delle versioni di un documento.
i diversi gestori dei contenuti prodotti dai
diversi vendors, magari presenti nella Esempio 2: il servizio di Query che permette ad un
stessa azienda adottati per rispondere a applicazione di cercare in un repository compliant
problematiche differenti. è un modello standardizzato e non costituito da
API proprietarie.
30/73
41. JSR-170
JSR-170: Content Repository API per tecnologia
JAVA: è una specifica Java Community Process (JCP)
strutturata su più livelli che definisce una serie di
interfacce per:
Accesso
Modifica
Interrogazione
Di un “Repository” contenente dati strutturati.
La JSR-170 può essere definita come il “JDBC”
dei Content Repositories
31/73
42. JSR-170
Level 1: Definisce l’accesso ai
contenuti in sola lettura e
l’interrogazione mediante
query XPath
La JSR-170 Level 1 è
destinata principalmente
alla scrittura di semplici
applicazioni CMS.
32/73
43. JSR-170
Level 2: Definisce l’accesso
ai dati in modalità
scrittura -lettura e le
funzionalità per l’integrità
referenziale dei dati.
33/73
44. JSR-170
Advanced Level: Definisce i
metodi per il versionamento
dei contenuti, la gestione
delle transazioni, le
funzionalità per interrogare il
repository utilizzando SQL e
le funzionalità per il locking
dei dati
34/73
45. JSR-170
L'utilizzo della JSR-170 API consente di scrivere
applicazioni di Enterprise Document Management in
maniera totalmente indipendente dal vendor.
Esistono sul mercato implementazioni 100% open source
di Content Repository Management JSR-170 Compliant
Esistono anche connectors per le piattaforme commerciali
più diffuse (SAP, Oracle, FileNet, ed altri)
Questo significa che se anche un sistema non è stato
progettato per supportare nativamente le specifiche
JSR-170 può disporre di un driver JSR-170 per comunicare
con i sistemi JSR-170 compliant (sul modello JDBC)
Standars CIMS.
35/73
46. Apache Jackrabbit
È la reference implementation Open Source della
specifica JSR-170
Alle funzionalità JCR di 1° e 2° livello e Avanzate
aggiunge:
Integrazione con il motore di indicizzazione Full-Text
Lucene
Implementa Classi “Text Extractors” per
l’indicizzazione dei documenti nei formati di file più
comuni (PDF, MS Office, Open Office, XML, HTML)
Supporta ricerche full text con XPath o SQL
36/73
47. Estendere il Modello dei Contenuti
Alfresco permette di personalizzare e estendere il modello dei
contenti per soddisfare le diverse esigenze dell’Organizzazione
Il repository di Alfresco supporta un ricco Dizionario dei Dati in cui
vengono dichiarati i tipi di contenuti
Il Dizionario dei Dati di default è pre-popolato con le definizioni
che descrivono i contenuti con cui è inizialmente popolato il
repository (Cartelle, Documenti, Nomi)
Il Dizionario dei Dati di Alfresco è estendibile, consente all’utente
di dichiarare nuovi Tipi di Dati Personalizzati (Custom Content
Type) che soddisfano i bisogni dell’Organizzazione.
40/73
48. Modello dei Dati di Base
Il Content Model principale di Alfresco descrive come i dati sono
memorizzati nel Repository
E’ una collezione di Tipi di Contenuti, di Aspetti e di Associazioni.
Il file di configurazione del Modello dei Dati è:
ContentModel.xml
Questo file descrive il Content Domain Model di Alfresco:
I Tipi di dati Fondmentali e come questi dati vengono memorizzati nel Data Base
Relazionale sottostante (def. String, Date, Integer)
I Tipi di dati di alto livello (Cartelle, Contenuti, Persone)
Gli Aspetti di Default (Classificable, Versionable)
Le Proprietà (Metadati), specifici per ogni Tipo di Contenuto
Constraints. I vincoli che possono essere associati ad ogni tipo di proprietà
Associazioni, le relazioni che esistono fra i Tipi di Contenuto
Tomcat: <TOMCAT_HOME>/webapps/alfresco/WEB-INF/classes
41/73
49. I Blocchi Elementari: Tipi e Proprietà
Il Modello dei Dati di Alfresco può essere progettato partendo dai mattoni
primari che la piattaforma fornisce all’utente:
Tipo: il concetto di tipo è concettualmente simile al concetto di Classe
dei linguaggi Object Oriented (es. Persona, Content, Folder).
Il concetto di Tipo è usato per modellare i Business Object che hanno
proprietà personalizzate.
I Tipi ereditano le proprietà dai loro Padri.
Proprietà: sono pezzi di Metadati che appartengono ad un
determinato tipo (es. Nome_Persona, Telefono_Persona)
Tipi di Proprietà: sono i tipi di dato fondamentali, descrivono i tipi di
dati del Repository che saranno usati per memorizzare le proprietà
definite (es. strings, dates, floats, boolean).
Vincoli: i Constraints possono opzionalmente essere usati per
restringere il valore che Alfresco può memorizzare nelle proprietà. Ci
sono 4 tipi di vincoli di default disponibili dalla piattaforma: REGEX
(espressioni regolari), LIST, MINMAX e LENGTH. Anche i vincoli
possono essere estesi.
42/73
50. I Blocchi Elementari: Aspetti e Associazioni
Il Modello dei Dati di Alfresco supporta i concetti:
Aspetti: permettono di “incollare” delle Proprietà a Tipi di contenuto o
anche a singole istanze di Contenuto quando e dove abbiamo bisogno.
Associazioni: una associazione definisce relazioni fra Tipi.
Alfresco supporta due diversi tipi di Associazioni:
Peer Associations: definisce una relazione “alla Pari” fra due
oggetti nel repository, in cui nessuno dei due è subordinato
all’altro.
Child Association: definisce una relazione “Padre-Figlio” fra
due oggetti, ossia l’oggetto Target (Figlio) dell’associazione
potrebbe non esistere mentre l’oggetto Source (Padre) esiste
sicuramente (es. associazione fra il tipo “Folder” e il tipo
“Content” instaurata nel repository di Alfresco).3
43/73
51. Estendere il Modello
• Il primo passo da compiere nel processo di progettazione di una applicazione di
gestione dei contenuti personalizzata è quello di definire il Modello dei Dati che
soddisfa i requisiti di Business del Cliente
• Il modello dei dati può essere esteso editando 3 file di configurazione XML:
• QBR-Model-content.xml: permette di dichiarare alla piattaforma un
insieme di modelli di dati personalizzati che saranno resi disponibili
all’interno di Alfresco
• QBRModel.xml: permette di implementare il Content Model definito,
ossia dichiarare alla piattaforma Tipi, Aspetti, e Associazioni.
• Web-client-config-custom.xml: permette di dichiarare il modello creato
all’interfaccia utente di Alfresco: “Web Client”.
Tomcat: <TOMCAT_HOME>/shared/classes/alfresco/extension
44/73
52. Esempio: operare con gli Aspetti
Una organizzazione vuole gestire con l’ECM Alfresco:
I documenti interni al ciclo produttivo dell’azienda
I contenuti destinati ad essere pubblicati sul sito web
L’organizzazione vuole gestire tutti i documenti aziendali in
maniera unificata, ma vuole poter tracciare tutti i Documenti
prodotti per essere pubblicati sul sito Web Aziendale.
I Contenuti destinati ad essere pubblicati sul sito Web hanno
bisogno di essere etichettati con 3 proprietà:
isActive: indica se il Contenuto è pubblicabile;
Data Inizio: indica la data in cui il sistema potrà pubblicare il
contenuto sul sito Web
Data Fine: indica la data di “scadenza” del il contenuto
Queste informazioni sono “trasversali” al Documento
informativo proprio del contenuto, possono essere “incollate”
al Documento indipendentemente dal suo Tipo
45/73
53. Esempio: operare con gli Aspetti
Queste informazioni sono “trasversali” al Documento
Informativo proprio del Documento, possono essere “incollate”
indipendentemente dalla sua classe di appartenenza
La Soluzione al problema potrebbe essere:
1. Definire un nuovo Tipo (Classe) di Documento chiamato
“DocumentoxWeb” che eredita dal Tipo “Documento”
2. Estendere il Tipo “Documento” con le 3 proprietà (isActive, Data
Inizio, Data Fine)
3. Definire un nuovo Aspetto “Pubblicabile” dotato di 3 proprietà
(isActive, Data Inizio, Data Fine)
Le soluzioni comportano:
1. Conoscere in fase di progettazione del modello esattamente quale
sono i documenti destinati ad essere pubblicati sul web
2. Snaturare le proprietà informative del Documento aggiungendo 3
campi
3. Gli Aspetti permettono una gestione trasversale delle proprietà
4. Gli Aspetti permettono di implementare una ereditarietà multipla
46/73
58. Esempio: Custom Template
Si vuole creare un Template di presentazione personalizzato che
permetta all’utente di Alfresco di visionare attraverso l’interfaccia
“Web Client”:
Proprietà: le proprietà (Metadati) con cui è stato esteso il Tipo:
Documento Offerta
Agente: nome dell’Agente che ha redatto una Offerta di Telefonia
Protocollo: numero di protocollo dell’offerta
Settore: offerta di Telefonia Fissa, Mobile o Convergente
Approvata: se l’offerta è stata accettata dal Cliente
Data Approvazione: Data di Approvazione dell’Offerta refatta
Associazioni: le 2 associazioni di tipo “Peer” definite fra il Tipo
“Documento Offerta” e i Tipi “LogoCliente” e “OffertaPDF”
Definito il Template (FreeMarker) per essere disponibile all’interno
della Piattaforma deve essere caricato nel Dizionario dei Dati di
Alfresco nella cartella “Presentation Template”
La funzionalità di “Prewiew in Template” fornita da Web Client
permette di “Vedere” una istanza del Type “Documento Offerta”
attraverso il template creato per osservare i metadati con cui l’oggetto
è stato esteso e i contenuti a lui associati (Logo e PDF).
51/73
60. Esempio: Custom Template
Type: Documento Offerta
Type: Logo_Cliente Metadati Offerta
Logo Acom SPA
Offerta PDF
Type: Offerta_PDF
Documento HTML
52/73
61. Comunicare con il Repository
Alfresco fornisce diversi approcci per accedere ai servizi
resi disponibili dalla piattaforma documentale:
Embed the Repository: il R. può essere incorporato
nell’applicazione, questo approccio garantisce il pieno
controllo delle funzionalità del R. attraverso l’utilizzo delle
API Alfresco Foundation
Web Service: supporto ai Web Service SOAP, ma questi
sono più pesanti dei loro cugini RESTful.
JCR API: permettono l’accesso al repository in aderenza allo
standard JSR-170 possono essere richiamate da remoto
attraverso le Remote Method Invocation (RMI) di Java.
URL Addressability: gli oggetti nel repository sono
indirizzabili attraverso l’URL, rappresenta il precursore dei
Web Script
Web Script Framework: motore per la registrazione e
l’esecuzione dei Web Script, pensati come un “pezzo di
codice” mappato da un URL facilmente leggibile dall’uomo e
dalle macchine
53/73
62. I Servizi Web RESTful
Un RESTful Web Service è un web service implementato usando HTTP
e identifcato da un:
URL: URI del Web Service
Tipo Mime: il tipo di dati che il web service ritorna (XML, JSON,
HTML)
Operazioni: set di operazioni supportate usando i metodi HTTP
(GET, POST, PUT, DELEDE)
Architettura client-server Stateless, dove ogni Risorsa è un Servizio
Web
Representation State Transfert: è un sistema per identificare e
descrivere una risorsa web attraverso un URL usando il protocollo
HTTP come canale di scambio delle informazioni
AZIONI SQL HTTP
Create Insert PUT
Read Select GET
Update Update POST
Delete Delete DELETE
54/73
63. I Servizi Web RESTful
I Benefici
Tempo di risposta migliore: basato su HTTP
Riduzione del carico del server: grazie al supporto
per la memorizzazione nella cache della
rappresentazione delle risorse
Incremento della scalabilità:perché non necessita
mantenere lo stato della sessione
Leggero sul lato Client: è necessario solo un
Browser per accedere alle risorse
55/73
64. Il Framework: Web Script
Applicazioni Content-Centric sono formate da molte
componenti
Un singolo sistema monolitico responsabile di tutti gli
aspetti della gestione dei contenuti è pesante
Più Sotto Sistemi debolmente connessi integrati per creare
soluzioni agili.
Questo approccio richiede che il CMS abbia una interfaccia
leggera e flessibile.
Il CMS è visto come un Componente che interagisce con il
Front-End attraverso servizi REST.
Si parla di Content-as-a-Service
Il Framework pensa il Web Script come un pezzo di codice
mappato da un URL
Il Web Script Framework è l’engine per la registrazione e
l’esecuzione dei Web Script
56/73
65. Cosa è un Web Script
E’ un Servizio LEGATO ad un URI che risponde ad un
Metodo HTTP (GET, POST, PUT, DELEDE).
Un Web Script permette di:
Costruire Web Service accessibili attraverso HTTP e
identificabile con un URI
Trasformare l’Alfresco Repository in un gestore di
contenuti come un Server HTTP
Accedere facilmente e gestire i Contenuti Cross-Link
attraverso API RESTful personalizzate
57/73
66. Alfresco fornisce due tipi di Web Script
Data Web Script: interfaccia del Repository
Ritorna dati strutturati:
XML
JSON
CVS
Presentation Web Script: interfaccia Utente
Ritorna codice HTML
Può utilizzare Data web Script
Supporta risposte di tipo:
HTML
Text
Atom
RSS
Portlet
58/73
67. Perché i Web Script ?
I Repository tradizionali hanno API di accesso
proprietarie complicate che rendono difficile la
condivisione dei documenti fra i diversi repository
I Repositori tradizionali sono accedibili tipicamente
tramite chiamate RPC (Remote Procedure Call) che
non facilitano l’accesso e la distribuzione uniforme
dei contenuti (JCR API)
Alfresco Web Script fornisce un accesso RESTful ai
contenuti nel repository che permette un semplice
accesso alle risorse (documenti) tramite l’URI e un
accesso uniforme alle risorse da parte di applicazioni
client (es. Browser), come sul Web.
59/73
68. Il Flusso di Esecuzione di un Web Script
Il Client- Web Script richiede un
URI
Autenticazione e esecuzione del
Web Script
Attraverso JavaScript si accede ad
una serie di servizi messi a
disposizione da Alfresco
(JavaScript API)
I Risultati sono resi attraverso un
Template FreeMarker (HTML,
JSON, XML)
Il Risultato dell’elaborazione
ritorna al Client usando lo stesso
protocollo della richiesta
Il Client Web-Script riceve la
risposta nel formato richiesto
60/73
69. Il Pattern MVC nei Web Script
Il Web Script Framework implementa il Pattern
MVC (Model View Controller):
Il Controller (opzionale): è implementato da
un componente Server Side JavaScript, un
Java Bean o da entrambi
La Vista: è implementata da uno o più
Template FreeMarker, responsabili della
costruzione della risposta al Client nel
formato specificato nella richiesta (HTML,
XML, RSS, JSON)
Il Modello: è rappresentato dalla Struttura
dei Dati a cui il Controller accede e invia alla
Vista.
61/73
70. I Componenti di un Web Script
Quale sono i componenti?
Il Descrittore: file XML che contiene l’URL del servizio,
informazioni sul metodo di autenticazione del client, gli
argomenti che lo script accetta, e il formato della
risposta
La Logica JavaScript: esegue la logica di business,
popola il modello con i dati
Il Template FreeMarker: per mappare il formato della
risposta usa una convenzione nel nome (es.
nome.html.ftl indica un tipo di risposta HTML)
Il Template ha accesso a tutti gli Argomenti della
richiesta, agli oggetti costruiti dal controller e al
repository.
Dove fare il Deploy
Nella Cartella “Data Dictionary”
Nel Classpath in
“**/alfresco/extension/templates/webscripts”
62/73
71. Configurare un Web Script
Il Metodo HTTP
I parametri di configurazione di un Web Script:
Il metodo HTTP usato per mandare la richiesta al
Web Script: per la convenzione sui nomi utilizzata, il
nome del file descrittore e il nome del template devono
contenere il metodo utilizzato (HTTP)
Questo approccio permette al Framework di mappare il
template e il descrittore con il metodo HTTP usato
fornendo la possibilità di definire più Web Script
differenziati in base ai metodi
GET: richiede una rappresentanza della risorsa, la
chiamata nondovrebbe avere effetti sul repository
POST: crea una nuova risoorsa nel repository
PUT: aggiorna una risorsa esistente nel repository
DELETE: Cancella una risorsa nel repository
63/73
72. Configurare un Web Script
L’URL e gli Argomenti
L’URL e gli Argomenti che il Web Script si aspetta
http[s]://<host>:<port>/[<contextPath>/]/<servicePath>
[/<scriptPath>][?<scriptArgs>]
Host: nome o indirizzo del server che ospita il Web Server
Port: porta sulla quale il Web Script è pubblicato sul server
ContexPath: path dole ‘applicazione è deploiata (Alfresco)
servicePath: path dove il WS è mappato (service)
scriptPath: path del Web Script definito nel file descrittore
scriptArgs: argomenti del WS definiti nel file descrittore
64/73
73. Configurare un Web Script
Il Formato della Risposta
Il Formato della risposta che il Web Script supporta
Il Framework usa la convenzione dei nomi per mappare
il Template da utilizzare in base al formato della
Risposta da inviare al Client
Es. create.post.html.ftl: il Framework capisce che
questo è il template che genera una risposta in formato
HTML
Grazie alla separazione permessa dal pattern MVC
possono essere implementate Viste diverse per la stessa
logica di business (controller)
Il Client può specificare il formato della risposta
desiderato attraverso l’URL (per default si assume
HTTP)
es.1: …service/qr/helloword.xml?arg=1
Es.2: …service/qbr/helloword?arg=1&format=xml
65/73
74. Esempio Web Script API: il CRUD
Nome del URL Descrizione Formato
Web Script della
Risposta
Create /qbr/create Crea un nuovo HTML
Documento nel
Repository
Update /qbr/update Aggiorna un HTML
Documento nel
Repository
Delete /qbr/delete Cancella un HTML
elemento dal
Repository
Read /qbr/read Ritorna la lista HTML
dei documenti
contenuti in un
determinato
Folder
66/73
75. Esempio CRUD: il metodo Read
Il Descrittore: read.get.desc.xml
<webscript>
<shortname>Lista Contenuti</shortname>
<description>Ritorna l'elenco dei contenuti in un Folder</description>
<url>/qbr/read/{path}</url>
<format default="html">argument</format>
<authentication>guest</authentication>
<transaction>none</transaction>
</webscript>
67/73
76. Esempio CRUD: il metodo Read
Il Controller: read.get.js
URL: http://localhost:8080/alfresco/service/qbr/read/{path}
// Lista della Cartella dal Path
var folder = roothome.childByNamePath(url.extension);
if (folder == undefined || !folder.isContainer)
{
status.code = 404;
status.message = "Folder " + url.extension + " not
found.";
status.redirect = true;
}
model.folder = folder;
68/73
77. Esempio CRUD: il metodo Read
Il Template: read.get.html.ftl
<div class="textHeader"><b>Directory: </b>${folder.displayPath}/${folder.name}</div>
<br>
<table border="0">
<#if folder.parent.parent?exists>
<tr>
<td><td><a href="${url.serviceContext}/sample/folder<@encodepath node=folder.parent/>">..</a>
</tr>
</#if>
<#list folder.children as child>
<tr>
<#if child.isContainer>
<td><img src="${url.context}/images/icons/project-icon-doclibrary.gif" height="15" ><td><a href="$
{url.serviceContext}/sample/folder<@encodepath node=child/>">${child.name}</a>
<#else>
<td><td>
<a href="${url.serviceContext}/api/node/content/${child.nodeRef.storeRef.protocol}/${child.nodeRef.storeRef.identifier}/$
{child.nodeRef.id}/${child.name?url}">${child.name}</a>
</#if>
</tr>
</#list>
</table>
69/73
78. Esempio CRUD: il metodo Read
…/qbr/MyApplicazione/leggiFolder.html …/qbr/read/Company Home/Esempio/?path=&submit=ok
70/73
79. Il Modello Relazionale dei Dati
ALF_QNAME
ID BIGINT(20)
VERSIN BIGINT(20)
Gestione
NS_ID BIGINT(20)
LOCAL_NAME VARCHAR(200)
degli Attributi
Associazioni
Padre-Figlio
Associazioni
Peer
71/73
80. Parallelismo fra Modello Relazionale - Documentale
Funzionalità Relazionale Documentale
JSR-170
Entità Fondamentale Tabella (Tupla) Documento
Gestione di Associazioni Si Si
tra entità Peer
Contenuto Strutturato La Tabella è un contenuto Il Documento è un
strutturato (I Campi) Contenuto Strutturato (le
Proprietà)
Supporto nativo alle Non lo supporta Si
Gerarchie nativamente, deve essere
implementato
Supporto nativo al No, il versioning di un Si
Versioning campo di una tabella deve
essere progettato e
implementato
opportunamente
Supporto nativo al Si, supporta il Lock delle Si
Check-in/out Tabelle ma di breve durata
Supporto nativo Si, ma solo alcuni DBMS e Si
all’indicizzazione Full- non nativamente su tutte le
Text tabelle del DB
72/73
81. Vantaggi-Svantaggi Modello Documentale
1. Il gestore documentale offre all’utente il
supporto nativo per costruire nuove strutture 3. In un contesto non Content-
documentali Custom Content Types, Versioning, Centric il modello Documentale
Check-in/out, ricerca Full-Text, diventa molto lento e pesante.
Categorizzazione dei Contenuti, Associazioni fra
i Contentuti.
4. Associa nativamente il file binario
alla tabella.
2. Se il Sistema da progettare fa uso massivo di join
(Report) allora il modello Documentale JSR-170
mostra i problemi di Performance
73/73
83. Contatti
Grazie per l’Attenzione!
Ing. Mirco Leo
QBR ENG.
mirco.leo@qbreng.it
QBR web site: http://www.qbrgroup.it
Editor's Notes
Slide: due tipi di ws Pur utilizzando essenzialmente lo stessa logica di base Alfresco supporta 2 tipi di Web Script. DATA WEB SCRIPT: incapsula l’accesso a la modifica dei contenuti (DATI) memorizzati nel repository. Forniscono per le applicazioni Client una interfaccia al repository che permette di interrogare, recuperare, aggiornare ed eseguire processi utilizzando generalmente formati di documenti XML o JSON. Presentation Web Script: permettono di costruire una interfaccia utente come una dashlet per Alfresco, una portlet per un portale JSR-168, un Componente User Interface dentro un Sito Web o una Applicazione web personalizzata. Questi web script tipicamente ritoornano contenuto HTML. A differenza dei Data Web Script, i Web Script di presentazione può essere ospitato sul Alfresco Repository Server un diverso server di Presentazione, quando è ospitato su un server di presentation separato da Alfresco allora interagisce con i Data Web Script. All Web Script URLs support the format argument for specifying the response type. Formats available &quot;out-of-the-box&quot; are: html => text/html text => text/plain xml => text/xml atom => application/atom+xml atomentry => application/atom+xml;type=entry atomfeed => application/atom+xml;type=feed rss => application/rss+xml json => application/json opensearchdescription => application/opensearchdescription+xml mediawiki => text/plain (Media Wiki markup) portlet => text/html (head & tail chopped) fbml => text/html php => text/html js => text/javascript calendar => text/calendar
Slide: Implementazione del pattern MVC Il framework: Web Script rende facile implementare il pattern MVC (Model View Controller),( nel Pattern MVC tutta la logica di business risiede nel Controller che è completamente separata dalla presentazione e dalla Vista). Nel Web Script Framework di Alfresco, il Controller è implementato dal JavaScript usato come Server-Side -il Controller (ozionale) è implementato da un componente server side JavaScript, un Java Bean o da entrambi. Il controller gestisce le richieste del Client, esegue la business logic necessaria per eseguire la richiesta, popola il Modello con i dati e allora manda la richiesta alla Vista. La Vista è costituita da 1 o piu template FreeMarker che sono responsabili della costruzione della risposta al Clinet nel formato appropriato ad es. HTML, XML, RSS, JSON, CVS o qualsiasi combinazione. Il formato della risposta è mappato da un template FreeMarker attraverso la convenzione dei nomi, per es. un template che ritorna html ha nell’estensione del nome .html. Il Template ha accesso a tutti gli URI Arguments, agli oggetti costruiti dal Controller e al repository dei dati. Il Modello è essenzialmente la Struttura dei Dati che viene passata fra il Controlle e la Vista.