PDA

View Full Version : ارتباط بین اندروید و برنامه سی شارپ



tara1367
چهارشنبه 08 آبان 1398, 18:18 عصر
سلام خدمت اساتید محترم

اپلیکیشنی برای فروش اینترنتی محصولات یک فروشگاه نوشتیم . این فروشگاه خودش از قبل یک برنامه ویندوزی نوشته شده با سی شارپ دارد که کل فروش براساس همین برنامه و دیتابیس sql server هست.
حال بنده می خواهم دیتابیس برنامه ویندوز با اندروید در تعامل باشد. و از آنجاییکه نمی خواهیم هیچ تغییری در برنامه ویندوزی صورت گیرد چگونه این کار امکان پدیر هست؟

با سپاس

hamid_hr
پنج شنبه 09 آبان 1398, 12:06 عصر
راه اول: یک وب سرویس در طرف سرور ویندوز بنویسید و از طریق اندروید باهاش در ارتباط باشید و از دیتابیس بخونید و .............
راه دوم : مستقیم به سرور SQL متصل بشین و کاراتونو بکنید

tara1367
پنج شنبه 09 آبان 1398, 15:32 عصر
ممنون. چطور می تونم بدون تغییری در کد سی شارپ (چون یک برنامه حسابداری فروشگاهی آماده هست) هر وقت تغییری در جدولی از دیتابیس ایجاد شد (مثلا تغییر در موجودی کالا) درخواست به سرور ارسال کنم؟

firebox
پنج شنبه 09 آبان 1398, 23:27 عصر
دوستمون توی پست قبلی گفتن،‌ توی سرورتون که برنامه اصلی با #C نوشته شده ، میتونید یک برنامه مجزا بنویسید (با هر زبانی که دوست داشتید) تا به SQL Server برنامه حسابداری تون متصل بشه و اون تغییراتی که میخواهید رو انجام بدید.
بعد برای اون برنامه که نوشتید یک Rest API می نویسید و برای هر عملی که میخواهید انجام بدید ، یک مسیر مجزا تعیین میکنید ،
برای مثال اگر میخواهید که اون برنامه اندرویدی تون امکان تغییر توی یک محصول رو داشته باشه ، مسیر api/product/id/update/ رو تعریف میکنید ، اطلاعات از طریق POST به اون برنامه ای که نوشتید ارسال میشه و تغییرات تویSQL Server اصلی اعمال میشه.

tara1367
شنبه 11 آبان 1398, 09:59 صبح
دوستمون توی پست قبلی گفتن،‌ توی سرورتون که برنامه اصلی با #C نوشته شده ، میتونید یک برنامه مجزا بنویسید (با هر زبانی که دوست داشتید) تا به SQL Server برنامه حسابداری تون متصل بشه و اون تغییراتی که میخواهید رو انجام بدید.
بعد برای اون برنامه که نوشتید یک Rest API می نویسید و برای هر عملی که میخواهید انجام بدید ، یک مسیر مجزا تعیین میکنید ،
برای مثال اگر میخواهید که اون برنامه اندرویدی تون امکان تغییر توی یک محصول رو داشته باشه ، مسیر api/product/id/update/ رو تعریف میکنید ، اطلاعات از طریق POST به اون برنامه ای که نوشتید ارسال میشه و تغییرات تویSQL Server اصلی اعمال میشه.


ممنون از راهنمایی. اما دو سوال دیگه:
1 - برای Rest Api از wcf باید استفاده کنم؟
2 - برای ارسال تغییرات موجودی لحظه ای کالا از سمت سروری که در فروشگاه هست می تونم اطلاعات رو به سروری که مربوط به دیتابیس اندروید هست post کنم. (آگاه شدن از تغییرات دیتابیس از طریق sqldependency) اما از اون طرف چطور؟ یعنی بعد از خرید محصولی در اپلیکیشن اندرویدی که موجودی تغییر کرد چطور درخواست udpate به سرور فروشگاه بفرستم؟
همچین اگر از sqldependency برای آگاه شدن از تغییرات و ارسال درخواست update به سرور استفاده کنم ، وقتی چند سیستم در فروشگاه به شبکه متصل هستند، این درخواست چند بار ارسال می شود. راه حل چیست؟