Кіріспе

Apache Cocoon – веб-қосымшалар фреймворкі, көбінесе Cocoon деп қысқартылады, және Pipeline, мәселелерді бөлу және компоненттік веб-әзірлеу ұғымдары негізінде құрылған. Бұл фреймворк XML және XSLT жарияланымдарына бағытталған және Java бағдарламалау тілінде құрылған. Cocoon-ның XML-ді пайдалануы HTML және PDF сияқты жарияланым форматтарының үйлесімділігін арттыруға көмектеседі. Apache Lenya және Daisy контентті басқару жүйелері осы фреймворк негізінде құрылған. Cocoon сондай-ақ деректер қоймасы ETL құралы ретінде немесе жүйелер арасында деректерді тасымалдауға арналған делдалдық бағдарлама ретінде жиі қолданылады.

Сайт картасы

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 компоненттерінің қалай өзара әрекеттесетінін анықтауға қолданылады. Типикалық құбыр желісі генератордан, одан кейін бір немесе бірнеше трансформаторлардан және соңында сериализатордан тұрады.