پایان نامه ارائه روشی برای طراحی مبتنی بر سرویس

تعداد صفحات: 239 فرمت فایل: word کد فایل: 10001880
سال: 1388 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی فناوری اطلاعات IT
قیمت قدیم:۳۰,۵۰۰ تومان
قیمت: ۲۸,۴۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه پایان نامه ارائه روشی برای طراحی مبتنی بر سرویس

    چکیده

    معماری سرویس گرا به سرعت به عنوان نخستین ائتلاف و راه حل معماری محیطهای محاسباتی ناهمگون و پیچیده معاصر پدیدار گشته است . [1]SOA نیازمند این است که سازمانها مدلهای کسب و کار خود را ارزیابی کنند, به ایجاد تکنیکهای تحلیل و طراحی مبتنی بر سرویس بیاندیشند و طرحهای گسترش و پشتیبانی روابط مابین فروشنده , مشتری و شریک تجاری را ارزیابی کنند . طراحان نمی توانند انتظار مدیریت توسعه یک پروژه سرویس گرا را داشته باشند بدون اینکه به شیوه طراحی دقیق و متدولوژی توسعه تکیه داشته باشند . از آنجایی که متدولوژی توسعه مبتنی بر سرویس اهمیت حیاتی در توصیف  ,ساخت , پالایش و تطبیق فرایندهای کسب وکاری دارد که تغییرپذیری بالایی دارند و تا به حال روش مناسب و منسجمی برای توسعه برنامه های کاربردی تجاری قدرتمند وجود ندارد , هدف این تحقیق ارائه روشی برای طراحی مبتنی بر سرویس می باشد . در این تحقیق از تکنیکها و مباحث مطرح درSOA   استفاده شده و برای طراحی سرویس گرا روشی پیشنهاد می شود . تمرکز تحقیق بر روی فرایند طراحی می باشدکه اصول و تکنیکهای کافی برای مشخص کردن , ساخت و پالایش فرایندهای کسب وکاری که به سرعت دچار تغییر می شوند فراهم می کند . روش پیشنهای برای ایجاد کنترل متمرکز از تجرید لایه های سرویس و طبقه بندی انواع سرویس استفاده نموده و در کنار استفاده از سیستمهای موروثی در حمایت از استراتژیهای کوتاه مدت سازمانها  ,بر اساس اصول طراحی و اصول سرویس گرائی در راستای استراتژیهای بلند مدت عمل می کند تا در تامین اهداف تجاری و حمایت از فرایندهایی که به سرعت دچار تغییر می شوند مفید واقع شود . همچنین زمینه تعامل عاملهای مختلف فرایند که در سطح چندین سازمان گسترده شده اند فراهم می شود و با تحلیل تغییرپذیری, انعطاف پذیری سیستم در حمایت از نقاط متغیر فرایندها و تغییر در سیاستهای کسب و کار افزایش می یابد .  بدین منظور در ادامه بحث ابتدا سبکهای مختلف توسعه نرم افزار به همراه سبک مبتنی بر سرویس و اصول سرویس گرائی به تفصیل بررسی می گردد , سپس چرخه حیات معماری سرویس گرا و فاز تجزیه و تحلیل که مقدمه ای برای طراحی می باشد مورد بررسی قرار می گیرد و در ادامه با بیان اصول و الگوهای طراحی موجود , راهکار پیشنهادی با  نمونه پیاده سازی شده به صورت مشروح بیان می گردد .

    کلمات کلیدی : SOA , Layer, Service Type , Process ,Variation , Granularity .Composition

    مقدمه

    در طول چهار دهه اخیر، میزان پیچیدگی نرم افزارها بصورت صعودی افزایش یافته و تقاضا برای نرم افزارهای قدرتمندتر بیشتر شده است. در این میان، به نظر می رسد که روشهای قدیمی جوابگوی نیازهای در حال رشد کنونی نیستند و نیاز به ایجاد و بکارگیری روش هائی است که بوسیله آنها بتوان بر این پیچیدگیها بصورت کاراتر و در زمانی کوتاهتر غلبه کرد. از سوی دیگر امکان کنار گذاشتن یکباره سیستمهای نرم افزاری موجود که تا به حال مشغول سرویس دهی به مشتریان بوده اند، وجود ندارد و می بایست سیستم های جدید را بصورت یکپارچه و در کنار همین سیستمهای فعلی بوجود آورد. معماری سرویس گرا، با تکیه بر اصول سرویس گرائی و محاسبات و سرویس های توزیع شده و بر پایه پروتکل های شبکه و لایه های منطقی سرویس و همچنین زبانهایی که تولید نرم افزارهای توزیع شده را فراهم می کنند، به عنوان راه حلی مناسب جهت از میان برداشتن مشکلات و مسائل مذکور مطرح گردیده است[20,21].

    SOA مجموعه ای از اصول , نظریه ها و تکنیکهایی را فراهم می کند که فرایندهای کسب و کار , اطلاعات و دارایی های تشکیلات بتوانند به شیوه مؤ ثری سازماندهی شوند و این فرایندها می توانند برای پشتیبانی از طرحهای استراتژیک و سطوح بهره وری که در محیطهای رقابتی کسب و کار مورد نیاز هستند,  گسترش داده شوند .  بسیاری از تشکیلات اقتصادی در استفاده اولیه شان از SOA چنین پنداشتند که از مولفه های موجود به عنوان سرویس وب می توانند استفاده کنند و عنوان کردند تنها با ایجاد سرویسهای پوشاننده[2] و رها کردن مولفه های زیرین غیر قابل دسترس, این کار عملی خواهد بود . در نتیجه پیاده سازی  لایه نازکی از SOAP/WSDL/UDDI  بالای برنامه کاربردی موجود یا مولفه هایی که سرویسهای وب را تحقق می بخشند , تا حد گسترده ای در صنعت نرم افزار تجربه شد . اما تا به حال روش مناسبی برای ایجاد برنامه های کاربردی تجاری قدرتمند وجود ندارد . اگرچه طبیعت مولفه ها مناسب استفاده از آنها به عنوان سرویس وب  می باشد , در بیشتر موارد اینطور نیست و برای طراحی مجدد و ارائه کارکرد مولفه ها به شیوه صحیح و از طریق سرویس وب نیازمند تلاش مضاعفی می باشیم[9] .

    پیاده سازی موفق SOA  مستلزم این است که به مفاهیم و استراتژی های پیاده سازی که خصوصیات و ویژگی های اساسی SOA را فرموله می کنند , توجه شود . به مجرد پیاد ه سازی موفق SOA , مزایایی در جهت کاهش زمان توسعه و ایجاد محصول , بهره برداری از کاربردهای انعطاف پذیر با پاسخ دهی سریع و امکان اتصال پویای استدلالهای کاربردی شرکای تجاری , حاصل می شود . یک پیاده سازی کامل SOA نه تنها در ارتباط با گسترش و صف آرایی سرویسها می باشد بلکه امکان استفاده از سرویس ها درجهت اجتماع برنامه های کاربردی متمایز و ایجاد کاربرد مرکب را منعکس می سازد.

    فصل اول:

    کلیات معماری سرویس گرا

    1-1  تعاریف اولیه

    1-1-1  معماری  سرویس گرا (SOA)

    SOA مجموعه قوانین ، سیاستها و چارچوب هایی است که نرم افزارها را قادر می سازد تا عملکرد خود را از طریق مجموعه سرویسهای مجزا و مستقل و در عین حال مرتبط با هم در اختیار سایر درخواست کنندگان قرار دهند تا بتوانند بدون اطلاع از نحوه پیاده سازی سرویس و تنها از طریق رابطهای استاندارد و تعریف شده، این سرویسها را یافته و فراخوانی نمایند و یا در تعریف دیگر می توان گفت معماری سرویس گرا روشی برای ساخت سیستم های توزیع شده ای است که در آنها عملکرد سیستم بصورت سرویس در اختیار کاربران و یا سایر سرویسها قرار می گیرد. از دیگرتعاریف ارائه شده مرتبط با معماری های سرویس گرا می توان به واحدهای نرم افزاری آماده در شبکه[3] یا سرویسهای سطح حرفه ای[4]  اشاره کرد. در حال حاضر، تکنولوژی سرویسهای وب  و پیاده سازی نمونه های موفق از آن، نشان داده است که SOA می تواند به عنوان راه حلی عملی و دست یافتنی در طراحی سیستمهای توزیع شده جدید و یکپارچه سازی سیستمهای بزرگ موجود مطرح گردد[3].  در این معماری، همه توابع به عنوان سرویس تعریف می گردند. این توابع شامل توابع تجاری و تراکنشهای تجاری می باشند که تراکنش های تجاری خود شامل توابع سطح پایین و توابع سیستمی سرویسها هستند. سرویسها بصورت مستقل طراحی و پیاده سازی شده و به عنوان جعبه سیاه عمل می نمایند. قطعات دیگر در خارج از این قطعه,  نیازی به دانستن نحوه انجام کار در این سرویس را ندارند و تنها به نتیجه آن نیازمندند. قطعات، سرویسهای خود را از طریق رابطهای تعریف شده در اختیار قطعات دیگر قرار میدهند که این رابطها قابل دستیابی و فراخوانی هستند، بدون اینکه محل قرار گیری آنها اهمیت داشته باشد (رابطهای محلی یا دور ). در ضمن، این رابطها می توانند به همان نرم افزار کاربردی  یا به آدرسی در محل دیگری از شبکه مرتبط باشند. رابطها به عنوان کلیدی در برقراری این ارتباطها هستند و از طریق آنها نوع پارامترهای ورودی و نتایج (خروجی) مشخص می گردد[1,34,26].

     نیاز به معماری سرویس گرا و امکانات آن از جنبه های مختلف به نحوه بارزی در برنامه های کاربردی توزیع شده جدید خصوصا برنامه های مرتبط باE-Commerce  مشهود و ملموس است. به عنوان نمونه اگر مثلا سرویس مربوط به پرداخت با کارت اعتباری غیر فعال باشد، ‌قرار نیست که فرایند فروش متوقف شود. بلکه سفارش ها بایستی پذیرفته شوند وعملیات پرداخت به وقت دیگری موکول شود.  همانند سایر معماری های توزیع شده،‌ SOA  ساخت برنامه های کاربردی با استفاده از اجزایی که در حوزه های جدا از هم قرار دارند را ممکن می سازد  و غالبا از سرویسهای وب به عنوان نقاط ورود برنامه کاربردی استفاده می کند که از لحاظ مفهومی معادل همان اجزای proxy و  stub  در سیستمهای توزیع شده سنتی مبتنی بر اجزاء هستند. با این تفاوت که در این جا ارتباط بین سرویس وب و استفاده کننده خیلی آزادانه تر و مستقل تر است. به علاوه SOA به خاطر در بر داشتن فاکتورهایی که اهمیت حیاتی در تجارت دارند، نیز منحصر به فرد است ( فاکتورهایی نظیر قابلیت اطمینان سرویس،‌ جامعیت پیام ، یکسانی تراکنش و امنیت پیام ). اگر سیستمی توانایی های خود را در قالب سرویسی روی وب ارائه کند، در آن صورت نحوه فراخوانی آن سرویس باید به طور واضح مستند سازی و اعلام شود. بسیاری از مسائل دسترس پذیری و مقیاس پذیری برنامه های کاربردی امروزی در SOA به نحو مطلوبی حل شده است.

    Abstract

    Service oriented architecture is fast appearing as a generally accepted solution for the current incompatible and complicated quantitative environment.  SOA requires organizations evaluate their business models and consider establishing service-oriented analysis and planning techniques as well as evaluating their development and support plans along with partner/customer/supplier relationships. Planners cannot expect to have a development management of a service-oriented project without relying on a careful design and development methodology. Development methodology based on service has critical role in description, establishment, refining and adaptation (verification) of highly volatile business processes.  However, there has not been a suitable and consolidated method for the development of powerful business applications.  The objective of this study is to present a method for service-oriented design.  This study uses techniques and current issues in SOA in consolidated form and proposes a method for service oriented design. This study concentrate here on a designing process that provides sufficient principles and techniques for determining, establishing and refining highly volatile business processes.

  • فهرست و منابع پایان نامه ارائه روشی برای طراحی مبتنی بر سرویس

    فهرست:

    شکل 1-1) میان افزار مبتنی بر پیغام[24]

    14

    شکل 2-1) مدل مفهومی معماری سرویس گرا[24]

    15

    شکل 3-1) توسعه مبتنی بر سرویس[24]

    16

    شکل 4-1) یک دیدگاه اولیه از چگونگی قرار گرفتن منطق خودکارسازی در داخل واحدها توسط    SOA

    20

    شکل 5-1) عملیاتهایی که به سرویسهای متفاوتی تعلق دارند و بخشهای متنوعی از منطق پروسه را نمایش می دهند.

    20

    شکل 6-1) چگونه مؤلفه های یک معماری سرویس گرا با یکدیگر ارتباط دارند.

    21

    شکل 7-1) پیمان های سرویس به طور رسمی مؤلفه های سرویس, عملیات و پیغام از یک معماری سرویس گرا را تعریف می کند.

    23

    شکل 8-1) سرویس ها وابستگی ها را به قرارداد سرویس محدود می کنند و با این کار به  منطق سرویس دهنده زیرین و تقاضاکننده اجازه می دهند که loosely coupled باقی بمانند.

    24

    شکل 9-1) عملیات Update Everything یک ترکیب سرویس را بسته بندی می کند

    25

     

     

    شکل 10-1) مراحل statelessو stateful که یک سرویس درهنگام پردازش یک پیغام از آنها عبور می کند .

    27

    شکل 11-1) جایگاه سرویس ها[1]

    28

    شکل 12-1) لایه های تخصصی سرویس[1]

    32

    شکل 13-1) سلسله مراتب چرخه حیات توسعه سرویسهای وب[9]

    36

    شکل 14-1) بخش بندی سرویسها که محیط راه حل  و پردازشهای تجاری را تفکیک کرده است[1].

    38

     

    شکل 1-2) چرخه حیات معماری سرویس گرا

           40

    شکل 2-2) گامهای تکنیک پائین به بالا

    42

    شکل 3-2) گامهای تکنیک بالا به پائین

    44

    شکل 4-2) گامهای تکنیک  meet in the middle [1]

    46

     

    شکل 1-3) در صورت تجزیه یک سرویس , الگوهای نظارتی به عدم تاثیرگذاری در قرارداد سرویس کمک می کنند.[27]

     

    59

         

    شکل 2-3) منطق  Agnostic و [27] Non Agnostic

    60

     

    شکل 1-4) فعالیتهای فاز طراحی

     

    63

    شکل 2-4) مدل گسترش سیستم تحت تاثیر لایه بندی [30]

    65

    شکل 3-4) پنهان سازی پیچیدگی توسط لایه انتزاعی داده

    69

    شکل 4-4) لایه دسترسی سرویس[2]

    70

    شکل 5-4) ساختار منطقی از سرویسهای تعاملی

    73

     

     

    شکل 6-4) مثالهایی از سرویس تعاملی در SOA

    76

    شکل 7-4) چارچوب مبتنی بر سرویس برای سرویسهای تعاملی

    76

    شکل 8-4) 4 نو ع تغییرپذیری

    80

    شکل 9-4) واسط مورد نیاز فرایند کسب و کار

    81

    شکل 10-4) نقاط تغییرپذیر ممکن

    82

    شکل 11-4) شمایی از تغییرپذیری در XML [6]

    83

    شکل 12-4) مدل تصمیم , مدل واسطی برای سازگاری سرویسها می باشد[6]

    84

    شکل 13-4) دیاگرام فعالیت و نقاط تغییر پذیر[31]

    85

    شکل 14-4) مدل خصیصه[31]

    86

    شکل 15-4) سرویسهای Gateway [2]

    92

    شکل 16-4) سرویسهای Façade [2]

    93

    شکل 17-4) جایگاه دستورات کنترلی درمقایسه دو راه حل [2]

    96

    شکل 18-4) سرویسهای دانه درشت[11]

    101

    شکل 19-4) ارتباط سرویس دانه درشت و سرویس دانه ریز[11]

    103

    شکل 20-4) متد جدیدی برای ارسال اطلاعات آدرس اضافه شده است.[11]

    105

    شکل 21-4) یک متدی که هر دو نوع اطلاعات آدرس و حساب را بر می گرداند.[11]

    105

    شکل 22-4) متدی که مؤلفه های درخواست داده شده را برمی گرداند[11]

    107

    شکل 23-4) مدلسازی سلسله مراتبی با BPMN [5]

    112

    شکل 24-4) مجموعه مدلهای فاز طراحی و ارتباط آنها

    113

    شکل 1-5) دیاگرام فعالیت 3 عامل

    117

     

     

    شکل 2-5) سرویسهای کاندید

    120

    شکل 3-5) مدل لایه بندی سیستم

    121

    شکل 4-5) تغییر پذیری در گردش کار

    122

    شکل 5-5) مدل خصیصه

    123

    شکل 6-5) دیاگرام فعالیت برای شناسایی وابستگیها

    124

    شکل 7-5) دیاگرام General Composition

    125

    شکل 8-5) مدل نگاشت

    125

    شکل 9-5) لایه تامین کننده QOS

    126

    شکل 10-5) سرویسهای دانه ریز

    127

    شکل 11-5) دیاگرام Consignee Collaboration

    127

    شکل 12-5) دیاگرام Consignee Sequence Diagram

    128

    شکل 13-5) دیاگرام Shipper Collaboration

    128

    شکل 14-5) دیاگرام Shipper Sequence

    129

    شکل 15-5) دیاگرام Partial Order Process Collaboration

    129

    شکل 16-5) دیاگرام Partial Order Process Sequence

     

    130

    شکل 17-5) دیاگرام تعاملات مابین سرویس فرایند و سرویسهای همکار

     

    131

    شکل 18-5) مدل BPMN

    132

    فهرست جداول

    عنوان                                                                                                                            شماره صفحه

    جدول 1-1) مقایسه مدلهای توسعه وابسته به معماری

    17

    جدول 1-6) راهکار پیشنهادی در تامین اصول طراحی

    137

     

    منبع:

    1- مروری بر RUP و قابلیتهای آن در تولید نرم افزار ، سید علیرضا حجازی، 1385

    2- سرویس گرائی و سرویس های وب، مهندس علی روزگار، پائیز 1384

    3- مرجع کامل UML: مهندس مهرداد توانا،مهندس عاطفه شیجونی

    4- کاربرد UML (تحلیل و طراحی شی گرا): مهندس ابوالفضل لاکدشتی    

     

    مراجع

     

    Erl , T. : Service-Oriented Architecture: Concepts, Technology, and Design. August 04, 2005.

     

    Krafzig, D., Banke, K. and Slama, D.: Enterprise SOA: Service-Oriented Architecture Best Practices. Prentice Hall PTR, 2004.

     

    Endrei M., et al. Patterns: Service-oriented Architecture and Web Services, Redbook, SG24-6303- 00, April 2004 .

     

    Jørstad, I. , Dustdar, S., Do, V.T. : A Service-Oriented Architecture Framework for Collaborative Services. Enabling Technologies: Infrastructure for Collaborative Enterprise, 2005. 14th IEEE International Workshops on Publication Date: 13-15 June 2005 , pp.121-125.

     

    Emig, C. Weisser, J. Abeck, S.: Development of SOA-based Software Systems - An Evolutionary Programming Approach . Date: February 25 2006 . International Conference on Telecommunications and International Conference on Internet and Web Applications and Services IEEE .

     

    Chang, S.H. and Kim , S.D. : A Variability Modeling Method for Adaptable Services in Service-Oriented Computing. In the proceedings of the 11th International Conference on Software Product Line, Volume , Issue , 10-14 Sept. 2007 Page(s):261 – 268 .

     

    Dijkman , R.M. and Dumas, M. : Service-oriented Design: A Multi-viewpoint Approach. International Journal of Cooperative Information Systems 13(4) , 2004, pp. 337-378.

     

    Vandersluis, K . , “The Benefits of a Data Abstraction Layer for SOA ,” Published: June 16, 2008 SOA Magazine Issue XIX .

     

    Papazoglou, M.P. and van den Heuvel, W.J. “Service-Oriented Design and Development Methodology,” Int'l J. Web Eng. and Technology, vol. 2, no. 4, 2006, pp. 412–442.

     

    Thomas, O., Leyking, K., Dreifus , F. , “Using Process Models for the Design of Service-Oriented Architectures: Methodology and E-Commerce Case Study, ” In the proceedings of the 41st  IEEE Hawaii International Conference on System Sciences, 2008 .

     

    Service-Oriented Architecture ,Sun Microsystems, Jini Network Technology,chapter 2.

     

    Matinlassi, M. , “Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA ,”In the proceedings of the 29th International Conference on Software Engineering, IEEE Computer Society, Washington Brussels Tokyo, Scotland, UK, May 26th - 28th  2004. pp. 127 - 136.

    Atkinson, C., et al., Component-based Product Line .Engineering with UML, Addison Wesley, 2001.

     

    Sinnema, M., et al., “COVAMOF: A Framework for Modeling Variability in Software Product Families,” In the proceedings of the Third Software Product Line Conference (SPLC 2004), Lecture Notes on Computer Science 3154, Boston, MA, USA, August 2004.

     

    Papazoglou , M.P. and Georgakapoulos, G. : Introduction to the Special Issue about Service-Oriented Computing, CACM, October 2003, 46(10): 24-29.

    Papazoglou, M.P. : Principles and Foundations of Web Services: A holistic view, Addison-Wesley, to appear: 2006.

     

    Brown , A . , et. al., “SOA Development Using the IBM Rational Software Development Platform: A Practical Guide”, Rational Software, September 2005.

     

    Pashov, I., Riebisch, M.: Using Feature Modeling for Program Comprehension and Software Architecture Recovery. In: Amendment to Proceedings 10th IEEE Symposium and Workshops on Engineering of Computer-Based Systems (ECBS'03), Huntsville Alabama, USA, April 7-11, 2003. IEEE Computer Society, 2003.

     

    Streitferdt, D., Riebisch, M., Philippow, I. : Formal Details of Relations in Feature Models. In: Proceedings 10th IEEE Symposium and Workshops on Engineering of Computer-Based Systems (ECBS'03), Huntsville Alabama, USA, April 7-11, 2003. IEEE Computer Society Press, 2003. S. 297-304 .

    Elements of Service-oriented Analysis and Design, developerWorks, June 2004

    Web Services and Service Oriented Architectures, D. K. Barry, Morgan    Kaufman, San Francisco, CA (2003).

    Toward an acceptable definition of service. - S. Jones. IEEE Software May/June 2005.

     

    SOA design: Meet in the middle. Boris Lublinsky. Java Pro, August 2004

     

    Güner,S., Service Oriented Architecture,Technical University Hamburg-Harburg,    Master Thesis, August 2005.

     

    Kawamoto K, Lobach D. Proposal for fulfilling strategic objectives of the U.S. roadmap for national action on decision support through a service-oriented architecture leveraging HL7 services. J Am Med Inform Assoc. 2007; 14: 146-55.

     

    Service Oriented Software Engineering in Grid systems. Master’s thesis, University of Bologna, - L. Abeti. 2006

     

    Erl,T., Introducing SOA Design Patterns master pattern catalog dedicated to SOA. Published: Aug 16, 2008 SOA Magazine .

     

    Sewell , D. ,Service Oriented Infrastructure Design Patterns , 2007.

     

    Wilkes,L.,Veryard,R., Service Oriented Architecture Considerations for Agile Systems , Microsoft Architects Journal Aprile 2004,11-23.

     

    Eeles,P., “Layering Strategies”, Rational Software, TP 199.

     

    Abu-Matar , M. , Toward a service-oriented analysis and design methodology for software product ,IBM Developer,2007.

     

    Jr, R. H., Kinder, S., Graham , S., IBM's SOA foundation - an architectural introduction and overview (version 1.0). 2005 .

     

    Service Oriented Architecture What, Why and How , April 26 2004 .

     

    Patterns: Implementing Self-Service in an SOA Environmen. Redbooks Paper  © Copyright IBM Corp. April 2005

    Process Modelling and Analysis of Manufacturing Supply Chain Networks Using Object-Oriented Petri Nets. Dong M. and Chen F, F. 2001

    Oasis soa reference model. Available from http://www.oasis-open. org/committees/tc home.php?wg abbrev=soa-rm.

    سایتهای اطلاع رسانی

    [1] - http:// www.rational.com

    [2] - http://www.soamag.com

    [3] - http://www.businesscentricmethodology.com

    [4] - http:// www.bptrends.com

    [5] - http://www.gartner.com

    [6] - http://www.software.ibm.com/software/developer/library

ثبت سفارش
عنوان محصول
قیمت