Кіріспе
Apache Cocoon – веб-қосымшалар фреймворкі, көбінесе Cocoon деп қысқартылады, және Pipeline, мәселелерді бөлу және компоненттік веб-әзірлеу ұғымдары негізінде құрылған. Бұл фреймворк XML және XSLT жарияланымдарына бағытталған және Java бағдарламалау тілінде құрылған. Cocoon-ның XML-ді пайдалануы HTML және PDF сияқты жарияланым форматтарының үйлесімділігін арттыруға көмектеседі. Apache Lenya және Daisy контентті басқару жүйелері осы фреймворк негізінде құрылған. Cocoon сондай-ақ деректер қоймасы ETL құралы ретінде немесе жүйелер арасында деректерді тасымалдауға арналған делдалдық бағдарлама ретінде жиі қолданылады.
Apache Cocoon, usually abbreviated as Cocoon, is a web application framework built around the concepts of Pipeline, separation of concerns, and component based web development. The framework focuses on XML and XSLT publishing and is built using the Java programming language. Cocoon's use of XML is intended to improve compatibility of publishing formats, such as HTML and PDF. The content management systems Apache Lenya and Daisy have been created on top of the framework. Cocoon is also commonly used as a data warehousing ETL tool or as middleware for transporting data between systems.
Сайт картасы
Apache Cocoon пайдаланушыларға Cocoon бағдарламалық қамтамасының әртүрлі компоненттерін басқаруға және Cocoon құбыржолдары деп аталатын клиент-сервер өзара әрекеттесуін анықтауға мүмкіндік беретін сайт карталарын қолданады.
Құралымдары
Кокон ішіндегі компоненттер функциясы бойынша топтастырылған.
Жұптастырушылар
Сәйкестендірулер пайдаланушы сұраныстарын, мысалы URL-дерді немесе cookie-лерді, wildcard немесе реттегіш өрнек үлгілерімен салыстыру үшін қолданылады. Әрбір пайдаланушы сұранысы сайт картасындағы сәйкестендірулерге қарсы тексеріледі, сәйкестік табылғанша. Сәйкестендіруде нақты сұранысқа жауап белгіленеді.
Генераторлар
Генераторлар одан әрі өңдеу үшін дерек ағынын құрайды. Бұл ағын қолданыстағы XML құжатынан жасалуы мүмкін, немесе сервердегі каталогтар құрылымы сияқты немесе кескіндер туралы деректерді бейнелеу үшін бастапқыдан XML құра алатын генераторлар да бар.
XSP
Генератордың бір түрі – XML Server Page (XSP), бұл сұраныс кезінде динамикалық мазмұнды қалай жасау керектігін көрсететін тегтерге негізделген директиваларды қамтитын XML құжаты. Cocoon өңдеуі кезінде бұл директивалар жасалған мазмұнмен алмастырылады, нәтижесінде алынған, толықтырылған XML құжаты одан әрі өңдеуге (әдетте XSLT түрлендіруіне) түседі. XSP-лер Cocoon өндірушілеріне айналады, әдетте Java кластары түрінде, бірақ Java негізделген процессорға ие кез келген сценарийлік тілді де қолдануға болады. Директивалар кіріктірілген ("XSP") немесе пайдаланушы анықтаған өңдеу тегтері болуы мүмкін, екеуі де логикалық парақтарда анықталады. Тегтер XSLT үлгілерін пайдалана отырып анықталады, олар тегтердің (XML түйіндері ретінде ұсынылған) басқа XML түйіндеріне немесе Java сияқты процедуралық кодқа қалай түрлендірілетінін сипаттайды. Тегтер процедуралық логиканы енгізу, өрнектерді алмастыру, веб-сервер ортасынан ақпаратты алу және басқа да операцияларды орындау үшін қолданылады. Cocoon-ның жаңа нұсқаларында XSP қолданылмайтынын ескеріңіз.
Трансформаторлар
Трансформаторлар деректер ағынын қабылдап, оны бір жолмен өзгертеді. Ең көп қолданылатын түрлендірулер XSLT арқылы бір XML форматын екінші XML форматына өзгерту үшін жасалады. Бірақ SQL командалары сияқты, басқа да дерек түрлерін қабылдайтын трансформаторлар да бар.
Сериалдандырғыштар
Серияландырушы XML оқиға ағынын клиентке қайтарылатын байттар тізбегіне (мысалы, HTML) түрлендіреді. Кейбір серияландырушылар деректерді HTML, XHTML, PDF, RTF, SVG, WML және қарапайым мәтін сияқты көптеген әртүрлі форматтарда жіберуге мүмкіндік береді.
Селекторлар
Селекторлар коммутаторлық оператор сияқты мүмкіндіктерді ұсынады. Олар сұраныстың белгілі бір элементтерін таңдап, қолданылуға тиіс құбыр бөлігін анықтай алады.
Көзқарастар
Көріністер негізінен сынақтар үшін қолданылады. Көрініс – құбырдың шығу нүктесі болып табылады. Осы нүктеге дейін жасалған XML ағынын шығаруға болады. Осы арқылы қолданба дұрыс жұмыс істейтінін тексеруге болады.
Оқырман
Мазмұнды талдамай жариялау (XML өңдеусіз). Суреттер сияқты мазмұн үшін қолданылады.
Іс-шаралар
Әрекеттер — бизнес логикасын орындайтын немесе жаңа мазмұн жасауды басқаратын Java кластары.
Құбыр желісі
Құбыр желісі берілген сұранысқа жауап беру үшін әртүрлі Cocoon компоненттерінің қалай өзара әрекеттесетінін анықтауға қолданылады. Типикалық құбыр желісі генератордан, одан кейін бір немесе бірнеше трансформаторлардан және соңында сериализатордан тұрады.