Sei sulla pagina 1di 15

[CONNECTOR NAME] CONNECTOR FEASIBILITY STUDY

Copyright IBM Corporation 2004, 2005

Revision Sheet
Author Version Date Revision

TABLE OF CONTENTS
Page # 1.0 pRODUCT INFORMATION...................................................................................................2 1.1 High Level Overview...........................................................................................................2 1.2 Produ t C!"!#ilities............................................................................................................2 1.$ Produ t Con e"ts.................................................................................................................2 1.% S&ste' Ar hite ture.............................................................................................................( 1.( End)*ser Clients..................................................................................................................+ 1.+ AP, O"tions..........................................................................................................................+ 1.- AP, Re o''end!tion..........................................................................................................1.. S&ste' Re/uire'ents..........................................................................................................2.0 PROPOSED Connector design................................................................................................1 2.1 0!" Produ t Con e"ts to the Content Edition AP,.........................................................1 2.2 Addition!l Re"ositor& Fun tion!lit&..................................................................................1 2.$ Re"ositor& Pro1ile Settings..................................................................................................2 2.% Esti'!tion.............................................................................................................................% 3.0 rIS S ! ISSUES........................................................................................................................" #.0 $%oss&r'.....................................................................................................................................(

!"

#RODUCT INFORMATION

This feasibility study documents the technical requirements and proposed design for a connector to [ insert: repository name, company, and applicable versions ] for WebSphere Information Integrator Content Edition II CE! [ product version ]" The intent is to pro#ide a detailed analysis of [ repository ] and to determine ho$ an II CE connector $ill map [ repository ]%s functionality $ith the II CE &PI"

$i%h Leve& Overvie'

'riefly describe the product"

!(

#ro)u*t Ca+a,i&ities

What does the product do( )utline the ma*or product capabilities+ such as its document management and $or,flo$ features"

!-

#ro)u*t Con*e+ts

It is important to gain a complete understanding of the product architecture" -ead the product documentation+ and spend some time using its nati#e tools" .se $hat you learn to de#elop a logical model of the repository domain and its concepts" /o not limit your model to concepts that fit the Content Edition model0 include all significant repository concepts" &dd a logical model of the repository concepts here" It is #ery important to understand the product on its o$n merits and to later be able to discuss $hich features map $ell to the Content Edition Integration &PI+ and $hich features did not fit" -e#ie$ the follo$ing table of questions" 1ou should be able to ans$er each question before you begin designing your connector" When you are finished+ loo, through the repository profile questions in section 2"3" 1ou do not need to fill out the profile yet+ but you should start thin,ing about the features that you $ill be able to support" .nique Item I/ Which repository items are uniquely identified by the repository( What information or schemes could you potentially use to identify the items that require unique identification in II CE( Content+ folders+ $or, items+ $or, queues and item classes require unique identification" 5o$ is content organi6ed in your repository( &re content items al$ays filed inside of a folder+ or can content 7float8 in the repository( Is it natural to bro$se your repository%s content+ or is content typically searched for( &re folders hierarchical( Is there a 7root8 folder( Is the folder hierarchy unconstrained or is there a fi9ed depth or scheme( /o folders e#er ha#e more than one parent folder(

4older

Content

=ati#e Content

Can the path to the root folder be located from the current folder( Can content e9ist in multiple different folders( Can content be added to and remo#ed from multiple folders li,e a lin,!( Can you use an item to determine $hat folder s! that item is filed in( /oes the repository require different security credentials for different folders( Can folders be created+ deleted+ updated+ or mo#ed( Can items be created in a folder+ or mo#ed into a folder( &re there different types item classes! of folders( /o folders ha#e metadata( Can all folders be searched( Can any be searched( 1ou should be able to describe each type of content that your repository supports" /oes your repository store nati#e content binary files!+ content metadata+ or both( Can content be split into multiple pages files!+ multiple parts parent:child lin,s to other content!+ or can it reference other content in its metadata( Can you update content metadata $ithout uploading nati#e content+ and #ice #ersa( Will content additions+ deletions+ and updates be reflected immediately in the repository and in the search results+ or $ill that ta,e some time( /oes your repository specify the mimetype for content( If not+ then does it pro#ide a filename $ith e9tension that could be used to determine a mimetype( Is content gi#en a descripti#e name other than the item I/( Can content truly be updated+ or do updates completely replace the e9isting content( Can content be updated $ithout a chec,out;chec,in cycle( &re there different types item classes! of content( Can the repository pro#ide a .-< for content retrie#al o#er a net$or, protocol such as 5TTP or 4TP!+ rather than through an &PI( /oes the repository also ser#ice that .-< if it is de:referenced by a bro$ser( /oes this repository support any non:standard nati#e content format that the client $ould require #ie$ing support for( /oes the repository typically contain #ery large documents or media files( /oes the repository pro#ide any ser#ices for streaming large documents or media files( Can the same nati#e content be retrie#ed from the repository in different formats renditions!( Can nati#e content renditions be specifically requested(

>etadata

?ersioning and Concurrency

Searching

/oes this repository support metadata for content and folders( &re there different types of metadata( What data types are supported( 5o$ is data formatted( &re there dates and times( Can there be multiple #alues in one metadata item( &re the #alues necessarily of the same type( /o certain properties ha#e a specified set of possible #alues( &re these #alues pro#ided for con#enience+ or do they also constrain the allo$ed #alue of the property( Is some metadata required to create an item( Is some metadata read:only( Is some metadata controlled by the system+ and is not intended for typical users to see and $or, $ith( What metadata is specified by the user+ and $hat metadata is maintained by the system( Is metadata organi6ed into classes( If so+ can the classes change after an item is created( /o some metadata properties e9ist for all folders or content or $or, items+ pro#iding a generic item class( Can arbitrary ne$ metadata properties be added to an item+ beyond $hat is specified by its type item class!( Is metadata fully distinguishable from nati#e content+ or does the repository treat both similarly( Is all metadata accessible in the same $ay+ or are there different types of metadata a#ailable for an item( Can the same content item e9ist in multiple #ersions( Is the #ersioning system numeric( Is the #ersioning system simply linear+ or are there ma*or and minor #ersions( Is metadata #ersioned or *ust nati#e content binary files!( Can all #ersions be retrie#ed( Is the current #ersion retrie#ed in a different $ay from the other #ersions( Is a #ersion identifier required to retrie#e content( /oes the repository support #ersioning beha#iors that do not fit into the II CE #ersioning model+ such as re#erting to a pre#ious #ersion or branching( Can metadata be searched( &ll metadata properties or only specific ones( Can nati#e content be te9t searched( Can $or,flo$ items be metadata or te9t searched( Can any of the abo#e be searched at the same time( &re metadata and nati#e content searches distinguishable from each other( &re searches literal+ or can the repository modify your search+ such as $ith grammatical or spelling ad*ustments( /oes the repository support search beha#iors that do not easily fit into an S@<: li,e query language( /oes the repository support &=/+ )-+ and =)T( Can these be mi9ed( Can the priority of these be go#erned by parenthesis( /oes the repository support character and;or string $ildcards( Can $ildcards be used at any point in a query+ or only at certain points+ such as at the end of or in the middle of a search term( &re there any reser#ed search characters or strings( Can these be escaped $hen they need to be interpreted literally( 5o$ are they escaped( Will the repository order search results( Can search results be ordered by any property+ or only by certain properties( /oes the repository allo$ you to limit search results to a certain number(

Security

Wor,flo$

&nnotations &dditional concepts

/oes that number ha#e to be $ithin a certain range( /oes the repository accept queries of unlimited si6e( Will the repository still sort result sets of an unlimited si6e+ or is there a limit( Is the repository globali6ed( Will it sort results according to locale( What type of authentication is supported by the repository( /oes authentication go beyond a username and pass$ord to include something li,e a client ,ey( Can the credentials be updated( /oes the repository limit the number of concurrent connections by a user I/( Is repository authentication encrypted( /o any repository components require separate authentication( /oes this repository support users and groups( Can you enumerate them( /oes security apply to folders or content( =either( 'oth( &re access control lists associated $ith content+ folders+ $or, queues+ and;or $or, items( /oes this repository support $or,flo$( Is the $or,flo$ system al$ays included $ith the soft$are( Is the $or,flo$ accessed through the same &PI as content( /oes the $or,flo$ support multiple named queues( &re only certain users and;or groups allo$ed to access specific queues( &re queues hierarchical( /oes the $or,flo$ support an inbo9 for the specific user( What operations are a#ailable on a gi#en $or, item( /oes the $or,flo$ system ha#e a notion of documents and lin,s bet$een $or, items and documents( /oes the $or,flo$ system support programmatically starting a $or, process instance( /o $or, items ha#e metadata( &re there different types item classes! of $or, items( Is the history of a $or, item a#ailable( /oes the repository support annotations( What types of annotations are supported(

!.

S/ste0 Ar*hite*ture

System architecture is important because the connector $ill ultimately be deployed into+ and must co:e9ist $ith+ the production repository system" System architecture may dictate the subcomponents $ith $hich the connector communicates directly+ as $ell as $here the connector code could be deployed for best efficiency" Pro#ide a system architecture diagram+ clearly identifying all of the components including optional components!"

&dditionally+ identify ho$ the components can be distributed or clustered in scaling scenarios" Include a diagram that sho$s ho$ components are deployed and ho$ they communicate $ith each other"

!1

En)2User C&ients

The importance of out:of:the:bo9 repository clients #ersus the repository%s underlying ser#ices and published &PIs #aries among repositories" 5o$e#er+ familiarity $ith a repositoryAs clients can impro#e understanding of repository concepts+ and clarify the most important and common use cases for the repository" Clients may include important functionality that is not readily apparent in any published &PI+ requiring the connector de#eloper to synthesi6e an equi#alent" Clients may also constrain or control ho$ the published &PIs are e9posed to end users+ $hich may limit the use cases that the corresponding &PI is actually e9pected to handle" /escribe the client applications that the repository ma,es a#ailable" What functions are pro#ided by each client( 5o$ does the end user na#igate the repository $ith the client( What types of searches can be e9ecuted $ith the client( /oes the client pro#ide any speciali6ed #ie$ers for displaying+ rendering+ or con#erting nati#e content( /oes the client pro#ide any functionality that is not supported by the &PI(

!3

A#I O+tions

<ist all of the a#ailable &PIs to the client" 4or each &PI+ create a list of ad#antages and disad#antages" If &PI choices are restricted to certain configurations+ or are influenced by the installation of optional components+ then those restrictions should also be documented here" 5o$ are sessions maintained $ith the &PI( Will you need to store &PI ob*ects as instance #ariables( If so+ are those &PI ob*ects seriali6able( Is the &PI thread:safe( =ote any particular challenges posed by the &PI" 4or e9ample+ connectors that require a C &PI $ill require a B=I layer"

!4

A#I Re*o00en)ation

-ecommend one or more &PIs to be used in the connector implementation" Support the recommendation $ith a description of the reasoning behind it"

!5

S/ste0 Re6uire0ents

The repository $ill require a certain le#el of hard$are and soft$are to run properly" This section $ill detail the hard$are requirements for one instance of the repository to run in a de#elopment en#ironment" These estimates should be based on the repository%s documentation $hene#er possible" Summari6e any special resources required to de#elop a connector to the repository" HAR23ARE RE4*,RE0ENTS

ProcessorC >emoryC
Ph&si !l Stor!ge S"! e5

)therC
SOFT3ARE RE4*,RE0ENTS O"er!ting S&ste'5 Re"ositor& So1tw!re5 Prere/uisite So1tw!re5 Other5 OTHER RE4*,RE0ENTS

(!" (!

#RO#OSED CONNECTOR DESI7N Ma+ #ro)u*t Con*e+ts to the Content E)ition A#I

>ap all of the product concepts to the corresponding Content Edition &PI classes" This is a #ery important step as it helps to con#ey to the customer or product manager ho$ the repository%s capabilities $ill appear through Content Edition applications" PRO2*CT CONCEPT ,, CONTENT E2,T,ON CONCEPT
.ser -epository Content >ultiPartContent and Content <in,! 4older Item Class Property Property/escription =ati#e Content and Page! &nnotation -endition @uery Wor, @ueue Wor, Item

E6PLANAT,ON

(!(

A))itiona& Re+ositor/ Fun*tiona&it/

The repository may include functionality that is currently not supported by the Content Edition SPI" This section should detail that functionality+ as $ell as any functionality that $ill not be included due to time constraints or customer requirements"

(!-

Re+ositor/ #ro8i&e Settin%s #ro8i&e Settin%s


Content -elated
Can Create Content Can /elete Content Can .pdate Content Can .pdate =ati#e Content Can .pdate =ame .ses Pages .ses >ime Types

Is Su++orte)9

>ulti:Part Content -elated


.ses >ulti:part Content Can &dd >ulti:part Can -emo#e >ulti:part Can Set >ulti:part

Content Class -elated


.ses Content Classes &llo$s =ull Content Class Can <ist Content Classes Can >odify Content Class )n Content

4older -elated
.ses 4olders Can Create 4olders Can /elete 4olders Can .pdate 4olders Supports Sub 4olders Can /elete )nly Empty 4olders Can <ist Paths 4or 4olders Content )nly In 4older 4older -equired To Create Content 4olders .se Content Classes .ses 4older Properties

4ile ; .nfile -elated


Can 4ile Content Can 4ile 4olders Can .nfile Content Can .nfile 4olders Can <ist 4olders 4iled In 4or Content Can <ist 4olders 4iled In 4or 4olders Can >ulti:4ile Content Can >ulti:4ile 4olders Can Create >ulti:4ile Content

Chec,:in;Chec,:out D ?ersion -elated


.ses ?ersions Can Cancel Chec,:out

#ro8i&e Settin%s
Can Chec,:in &nd Chec,:out Chec,:in -equired To .pdate Chec,:in -equired To .pdate =ati#e Content Supports &d#anced Chec,:in Types

Is Su++orte)9

.ser;Eroups -elated
Can <ist Eroups Can <ist .sers Can .pdate Pass$ords

Security -elated
.ses Security 4or Content .ses Security 4or 4olders .ses Simple Security 4or Content .ses Simple Security 4or 4olders Can .pdate Content Security Can .pdate 4older Security .ses &d#anced Security 4or Content .ses &d#anced Security 4or 4olders

@uery -elated
Can @uery Can @uery Containing 4older Can @uery Content Class Can @uery 4ull:Te9t Can @uery 4ull:Te9t &nd Can @uery 4ull:Te9t Erouping Can @uery 4ull:Te9t =ested Erouping Can @uery 4ull:Te9t =ot Can @uery 4ull:Te9t )r Can @uery 4ull:Te9t Phrase Can @uery 4ull:Te9t Word Can @uery >a9 -ecords Can @uery Properties Can @uery Properties &nd Can @uery Properties &nd 4ull:Te9t Can @uery Properties Erouping Can @uery Properties <i,e Can @uery Properties =ested Erouping Can @uery Properties =ot Can @uery Properties )r /oes Content @uery -equire 4older /oes Content @uery -equire ItemClass .ses -ele#ancy Scores

-enditions -elated
Supports -enditions Can Create -endition -equests

Wor,flo$ -elated
Can Complete Wor, Items Can Create Wor, Items

#ro8i&e Settin%s
Creates =e$ Wor,Item )n Completion Can /etermine =e$ Wor, Items )n Create Can Identify @ueue 4rom Wor,Item Can <ist Wor,Item Classes Can <ist Wor,@ueue Eroups Can <ist Wor,@ueue .sers <oc, -equired 4or Wor,Item .pdates Can .nloc, Wor, Items Can .pdate Wor, Item =ame Can .pdate Wor, Items Can @uery .sing Containing Wor,@ueue Can @uery .sing Wor, Item Class /oes Wor, @uery -equire ItemClass /oes Wor, @uery -equire @ueue Supports Custom Wor,Item Properties Supports Sub @ueues Supports Wor,flo$ Supports Wor,@ueue Containable Property /escriptions .ses Wor,Item Classes .ses Wor,@ueue Properties

Is Su++orte)9

(!.

Esti0ation

Pro#ide an accurate estimation of the time required to implement and unit test all of the Connector features by SPI feature group" -emember that II CE pro#ides a set of command line e9amples that can aid in unit testing" CONNECTOR FEAT*RE Session >anagement <ogon <ogoff Item Class <ist Elobal Eet Content Eet Content Eet =ati#e Content .pdate Content .pdate =ati#e Content /elete Content 5TTP accessibility ?ersioning 3OR7 EST,0ATE 8,N 2A9S:

Chec,:out Cancel Chec,:out Chec,:in 4older =a#igation Eet -oot 4older Eet 4older Eet 4older Contents Item 4inder Search Property based Search 4ull:te9t Search Security Eet Security .pdate Security Wor,flo$ @ueue =a#igation Eet -oot Eet @ueue Contents Wor,flo$ @uery Wor,flo$ ItemClass <ist Elobal Eet Wor,Item Create .pdate Complete <oc, .nloc, /elete -eassign -oute -enditions Create Eet /elete

-!"

RIS:S ; ISSUES

This section should detail any ris,s that are associated $ith the design+ de#elopment+ or deployment of this particular connector"

.!"

7LOSSARY

Identify all basic concepts and terms that are used in the product"
Term /efinition

Potrebbero piacerti anche